簡體   English   中英

使用MvcApprovals進行Nunit測試驗證特定的URL

[英]Nunit tests with MvcApprovals Verify specific url

我的mvc應用程序的項目url像這樣localhost:port / AppName托管

我創建了一個新的單元測試項目,以使用nunit框架測試mvc應用程序,並使用批准測試庫進行批准測試

[Test]
    [UseReporter(typeof(FileLauncherReporter),typeof(ClipboardReporter))]
    public void PaymentPopUpController_IndexView()
    {
        //Arrange
        PortFactory.MvcPort = 8080;
        // Act      
        Func<ActionResult> ScopeControllerTest = new ScopeController()._Index;

        // Approve
        MvcApprovals.VerifyMvcPage(ScopeControllerTest);
    }

MvcApprovals.VerifyMvcPage引發錯誤,因為我沒有設置正確的項目url,所以找不到url:

連接到時發生以下錯誤:

http://本地主機:8080 /范圍/ _index

錯誤:

遠程服務器返回錯誤:(404)找不到。

所以我的問題是如何設置正確的url以與nunit一起進行mvc批准測試

MvcApprovals將通過控制器名稱+方法名稱的組合來構造url。 因此,在這種情況下,新的ScopeController()._ Index將被轉換為Scope / _Index

有兩種可能的原因為什么不起作用

1)錯誤的網址。 _index可能不是公開的,否則不是正確的路由。 最簡單的測試方法是打開Web瀏覽器並將其指向

http://localhost:8080/Scope/_index

如果您的瀏覽器看不到該網址,則批准測試也不會。 (除非您使用的是cassinidev)

2)第二個原因是您可能在測試過程中未打開Web服務器。 這也可以通過在瀏覽器中打開URL來顯示。

測試愉快!

勒韋林·法爾科(Llewellyn Falco)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM