如何在单元测试中使用敏感数据?

How to use sensitive data in unit tests?

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

如果您的项目工作正常,您可以 use/add 对代码进行间谍方法,并对登录文件进行 validate/add 单元测试。 (spyse 用于获取方法对测试文件的实际响应,它在单元测试中的内置功能)。

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

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

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