我正在使用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类来自我正在测试的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项目的启动以及它的config。*。json文件吗?
我可以使用config.testing.json并在TestServer上设置环境以进行测试,以便启动代码使用config.json和config.testing.json吗?
答案 0 :(得分:1)
我假设你正在使用TestServer
中的aspnet
,如果是这样的话,它不是为了支持你读取配置文件的方式而构建的。 TestServer
用于为其“托管引擎”运行简单集成测试,但不用于网站的集成测试。
然而,他们可以使用ApplicationDeployerFactory类。有关如何运行“集成”服务器的示例,请参阅this。我已经将selenium与它结合使用来对我正在研究的项目运行集成测试。
答案 1 :(得分:0)