近日因為要對App_code裡面的類別進行Unit test,因使用微軟ASPNET Unit test,但簡單的測試一個Method就出現以下錯誤:
Web 要求 'http://localhost:41122/XXXXX/' 順利完成,但未執行測試。當設定 Web 應用程式進行測試,但發生錯誤時 (處理要求時發生 ASP.NET 伺服器錯誤),或未執行任何 ASP.NET 網頁時 (URL 可能指向 HTML 網頁、Web 服務或目錄清單),就可能發生這種情形。在 ASP.NET 中執行測試時,URL 必須解析為 ASP.NET 網頁,而且頁面要能順利執行至 Load 事件。要求的回應會連同測試結果一併儲存在檔案 'WebRequestResponse_XXXXXXXTest.html' 中。通常這個檔案可以使用 Web 瀏覽器開啟以檢視內容。
解決的方式如下:
在網站根目錄下新增一個Temp.aspx,然後在Web.config的<configuration>區段下,加入以下
<location path="temp.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
…
</configuration>
然後在test method修改UrlToTest到temp.aspx
<TestMethod(), _
HostType("ASP.NET"), _
AspNetDevelopmentServerHost("C:\inetpub\wwwroot\XXX", "/XXX"), _
UrlToTest("http://localhost/XXXXXX/temp.aspx")> _
Public Sub chk51Has99DataTest()
…
再測試就通過了
參考
http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/7db9472a-7f2a-4930-bbd2-6f0f6e5c191c/
沒有留言:
張貼留言