【问题标题】:How to use sensitive data in unit tests?如何在单元测试中使用敏感数据?
【发布时间】:2021-09-22 04:13:51
【问题描述】:

我在测试期间输入了登录信息,但我不再希望这些数据出现在即将上传到 GitHub 的源代码中。如何在测试中使用这些数据而不将登录信息存储在源代码中?将其存储在环境变量中是否安全?数据库?本地文件?加密和解密此信息的最佳方法是什么?

【问题讨论】:

  • 将其存储在环境变量中或作为运行单元测试的 CI 构建服务器中的机密
  • 不过没错,这些是单元测试,我忘了你根本不需要敏感信息。你可以用 Python 模拟一切!在某些语言(如 Go)中,很少有例外。但不是在 Python 中!你可以模拟任何东西。

标签: python unit-testing security privacy


【解决方案1】:

请记住,敏感数据仍将位于 Git 存储库中。 如果您想从 Git 历史记录中删除一些敏感数据,请查看以下问题:Remove sensitive files and their commits from Git history

对于登录信息,我会尝试模拟登录过程。否则其他想要运行测试的人需要以某种方式获取这些敏感信息。

【讨论】:

  • 似乎模拟在这里是一种流行的方法。我会试试的。
【解决方案2】:

如果您的项目运行良好,您可以在代码中使用/添加 spy 方法并为登录文件验证/添加单元测试。 (spyse 用于从方法获取实际响应以测试文件,它在单元测试中的内置功能)。

如果您使用密码登录,任何人都可以添加控制台并检查您的凭据,如果您上传到 github,我不确定这是否是个好主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多