【发布时间】:2018-01-30 05:15:40
【问题描述】:
我是 asp.net 核心的新手。目前我正在开发一个使用来自 Google、Facebook 和 Microsoft 的身份验证提供程序的小型网站。
现在我想为我的HomeController 编写一些集成测试。
这是我的测试类的样子:
public class HomeControllerTests : IDisposable
{
private HomeController _homeController;
private readonly TestServer _server;
private readonly HttpClient _client;
public HomeControllerTests()
{
_server = new TestServer(new WebHostBuilder().UseEnvironment("Development").UseStartup<Startup>());
_client = _server.CreateClient();
}
[Fact]
public async void Test()
{
var result = await _client.GetAsync("/");
Assert.NotNull(result);
}
public void Dispose()
{
_server.Dispose();
_client.Dispose();
}
}
现在在我的 Startup.cs 中
builder.AddUserSecrets();
一个 InvalidOperationException 被抛出:
Microsoft.Extensions.Configuration.UserSecrets.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理。
谁能指出我正确的方向有什么问题?测试也会在构建服务器上运行吗?
【问题讨论】:
标签: c# asp.net authentication asp.net-core integration-testing