ASP.Net核心集成测试

我正在努力使用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(); 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); } } 

测试未通过,但有以下例外:

未找到“索引”视图。 搜索了以下位置:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml

我在这个阶段使用MSTest而不是xUnit。 不幸的是,将ContentRoot更改为“重复”问题中建议的内容并不能解决问题。

有没有人进行集成测试? 我试过调整WebHostBuilder设置,但没有运气。

我写了一篇关于集成测试的博客文章(不包括MVC),而“Snow Crash”则发表了类似问题的评论。 他们使用以下代码解决了“未找到”错误:

 var path = PlatformServices.Default.Application.ApplicationBasePath; var setDir = Path.GetFullPath(Path.Combine(path,  )); var builder = new WebHostBuilder() .UseContentRoot(setDir) .UseStartup(); 

博客文章介绍了使用ASP.NET Core中的xUnit和TestServer进行集成测试的简介 。