加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:21:29 所属栏目:百科 来源:网络整理
导读:在尝试从测试项目中测试Nancy模块时,遇到了一些绊脚石.我的测试代码看起来很标准: [TestMethod]public void Should_return_status_ok_when_route_exists(){ // Given var bootstrapper = new DefaultNancyBootstrapper(); var browser = new Browser(bootst
在尝试从测试项目中测试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);
}

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读