【发布时间】:2021-02-08 12:14:52
【问题描述】:
在 appsettings.json 文件中,我存储了用于测试的所有数据:
我在 ConfigManager 类的帮助下从 appsettings.json 检索数据:
当我在本地机器上执行测试时,一切正常,但是当我尝试在 bitbucket 管道中执行它时,我得到 NullReferenceException(当尝试使用变量形式的 ConfigManager(例如 BaseUrl)时)。这是我的 .yaml 文件:
如果需要的数据是硬编码的: 测试在管道运行中通过。因此,我认为问题恰恰在于从json文件中提取数据的正确性。
我的问题:我的代码有什么问题吗?我应该在 yaml 文件中添加任何内容以便能够从 appsettings.json 获取数据吗? 任何帮助都会很有价值。
【问题讨论】:
-
如何在本地执行测试?
-
您能否检查
appsettings.json是否已版本化并出现在 CI 的构建结果中? -
由于依赖于当前目录,所以在CI下运行时,添加一个测试检查文件是否存在于当前目录中。
-
@Vernou - 我在本地使用 Visual Studio 运行(测试资源管理器 - 运行)
-
@Charlie - 我添加了简单的测试 ' [Test] public void CheckFile() { var info = new DirectoryInfo(Directory.GetCurrentDirectory()); info.GetFiles("appsettings.json").Should().HaveCount(1); }' 它在 CI 上传递
标签: c# json automated-tests nunit bitbucket-pipelines