gpt4 book ai didi

testing - 做集成测试时使用 web 项目 config.json

转载 作者:行者123 更新时间:2023-11-28 20:40:30 24 4
gpt4 key购买 nike

我正在使用 ASP.NET 5 RC1,我需要编写集成测试......

所以在测试项目 ASPNET5_WEB_TEST 上,我有以下内容:

public class IntegrationTests {

private readonly TestServer _server;
private readonly HttpClient _client;

public IntegrationTests() {

_server = new TestServer(TestServer.CreateBuilder().UseStartup<Startup>());
_client = _server.CreateClient();

}

// Test methods ...
}

Startup 类来 self 正在测试的 ASP.NET 5 项目:ASPNET5_WEB

当我运行测试时,出现以下错误:

The configuration file 'C:\Projects\ASPNET5_TEST\config.json' was not found and is not optional.

我知道我收到此错误是因为在启动时我有:

  builder
.AddJsonFile("config.json", false)
.AddJsonFile($"config.{environment.EnvironmentName}.json", true);

要修复此错误,我至少需要将 config.json 从我的 Web 项目 ASPNET5_WEB 复制到我的测试项目 ASPNET5_WEB_TEST。但这意味着我将需要维护重复的 config.json 或至少在每次进行更改时复制它。

我不能告诉 TestServer 使用 Web 项目的 Startup 及其 config.*.json 文件吗?

我可以有一个 config.testing.json 并在 TestServer 上将环境设置为测试,以便启动代码使用 config.json 和 config.testing.json 吗?

最佳答案

我假设您使用的是 aspnet 中的 TestServer,如果是这样,那么它并不是为支持您读取配置文件的方式而构建的。 TestServer 用于为其“托管引擎”运行简单集成测试,但不用于网站的集成测试。

他们的 ApplicationDeployerFactory class 是你可以使用的。引用this作为如何运行“集成”服务器的示例。我将 selenium 与它结合使用,以针对我正在处理的 atm 项目运行集成测试。

关于testing - 做集成测试时使用 web 项目 config.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com