[英]Nancy testing project can't find views
在嘗試從測試項目中測試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>();
});
然后,您將實現public class CustomRootPathProvider : IRootPathProvider
並將其指向正確的位置。
第二個解決方案是將視圖設置為始終復制到輸出目錄,我相信也應該解決它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.