c# - .Net 测试项目的用户特定数据和 secret 数据存储在哪里?

标签 c# .net testing nunit

我有 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/

相关文章:

c# - 挑战: Neater way of currying or partially applying C#4's string.加入

c# - 什么更快更方便: Hashtable or Dictionary<int, double>()?

testing - 在不同浏览器中并行运行 cucumber 测试脚本

c# - 如何在 ASP .NET MVC 中将对象列表与用户(帐户)相关联

c# - 设置时间为23 :59:59

.net - 在 .Net 中,公共(public)静态变量的 'Staticness' 是否仅限于 AppDomain 或整个过程?

testing - 谁做你的测试?

delphi - 在不修改源代码的情况下检查 Delphi 控件对象

c# - WPF 默认日期时间格式

c# - 异步编程 APM 与 EAP