c# – 南希测试项目找不到视图

前端之家收集整理的这篇文章主要介绍了c# – 南希测试项目找不到视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在尝试从测试项目中测试Nancy模块时,遇到了一些绊脚石.我的测试代码看起来很标准: @H_301_2@[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); }

当模块尝试渲染视图时,我无法找到视图异常.如果我正常运行项目,模块会找到视图.只有在从测试项目调用时,模块才能找到它.

解决方法

问题是视图不是你的测试项目的任何地方,并且由于IRootPathProvider指向错误的位置,它无法找到它们.解决这个问题的两种方法是使用ConfigurableBootstrapper(它与默认值相同,但可以在初始化时覆盖内容)并告诉它使用您的自定义根路径提供程序 @H_301_2@var bootstrapper = new ConfigurableBootstrapper(with => { with.RootPathProvider<CustomRootPathProvider>(); });

然后,您将实现公共类CustomRootPathProvider:IRootPathProvider并将其指向正确的位置.

第二个解决方案是将视图设置为始终复制到输出目录,我相信也应该解决

猜你在找的C#相关文章