我有 NUnit
测试项目,它正在测试某些远程服务的网关。
而且我有公钥/私钥来管理我在该服务上的帐户。
现在我将这些 key 存储在代码中。但对于用户特定和 secret 数据来说,这是错误的方式。我必须对版本控制系统和其他人隐藏它。
那么,这样的数据存放在哪里比较好?
我的想法:
- 环境变量
- *.csproj.user(如果可能的话?)
- *.resx
- .runsettings(如果可能的话?)
我想使用 *.csproj.user
但是否可以在此文件中存储和访问自定义数据?
最佳答案
除非是用于测试并且帐户是假的,否则您应该永远不要存储用户凭据,绝对不要存储 SSH key ,除非它是 OEM 安全产品。
您最好在单元测试设置中创建随机帐户并使用这些帐户或模拟身份验证调用的结果。
通常,您将测试数据存储在 CSV/Xslx 文件中,每一行都通过要测试的方法执行值。您也可以使用数据库执行此操作。这是一个例子:https://stackoverflow.com/a/6095773/495455
对于需要敏感访问凭据信息的方法,您应该使用不能用于破坏系统的已知工作和非工作值进行隔离测试。
关于c# - .Net 测试项目的用户特定数据和 secret 数据存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58053757/