我很难让ASP.Net Core RC2与任何类型的集成测试配合工作。 我创建了一个基本的Web项目,在浏览器中运行良好,显示预期的默认页面。然后我添加了一个新类(在同一项目中),其中包含以下测试代码:
[TestClass]
public class HomeControllerTests
{
private HttpClient client;
[TestInitialize]
public void Initialize()
{
// Arrange
var host = new WebHostBuilder()
.UseEnvironment("Development")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>();
TestServer server = new TestServer(host);
client = server.CreateClient();
}
[TestMethod]
public async Task CheckHomeIndex()
{
string request = "/";
var response = await client.GetAsync(request);
response.EnsureSuccessStatusCode();
Assert.IsTrue(true);
}
}
测试未通过,出现以下异常:
我目前使用的是MSTest而不是xUnit。将ContentRoot更改为“重复”问题中建议的内容,但遗憾的是无法解决该问题。未找到视图'Index'。已搜索以下位置:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml
有没有人成功地运行了集成测试?我已经尝试调整
WebHostBuilder
设置,但没有成功。