6
尝试从测试项目测试Nancy模块时遇到了一些绊脚石。我测试的代码看起来非常标准:南希测试项目找不到视图
[TestMethod]
public void Should_return_status_ok_when_route_exists()
{
// Given
var bootstrapper = new DefaultNancyBootstrapper();
var browser = new Browser(bootstrapper);
// When
var result = browser.Get("/", with =>
{
with.HttpRequest();
});
// Then
Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);
}
我得到一个无法当我的模块试图渲染视图定位视图例外。如果我正常运行项目,模块将查找该视图。只有在从测试项目中调用时,模块才能找到它。
另外请注意,您必须安装在测试项目中的右视图引擎。例如,如果未安装Razor视图引擎,则不会找到cshtml视图。 – theDmi
另外看看IRootPathProvider的这个不错的实现:http://www.jefclaes.be/2012/06/making-my-first-nancyfx-test-pass.html –
通过将我的视图设置为“Always Copy”I能够做出简单的测试通过。不需要甚至实现根路径提供者。谢谢! – dimiguel