2014-07-18 70 views
0

我想單元測試代碼,其中包含邏輯,並訪問頁面上的控件。我已經瀏覽了很多例子,例如http://kmanojt.blogspot.com/2010/09/unit-testing-aspx-and-acsx-pages-with.htmlhttp://www.infosysblogs.com/microsoft/2008/01/aspnet_unit_testing_on_iis.html在IIS上訪問控件並在頁面上訪問控件的單元測試Web窗體Visual Studio 2012

如果我添加HostType,那麼我不能再調試任何東西。如果我刪除HostType並只保留UrlToTest,我可以調試,但testContextInstance.RequestedPage始終爲空。由於該頁面爲空,因此我無法訪問頁面上的任何控件,並且在調用Method1時它會引發異常,因爲它試圖訪問的文本框控件爲null。我正在使用IIS 7,所以我沒有使用AspNetDevelopmentServerHost設置。

實施例的代碼:使用Microsoft.VisualStudio.TestTools.UnitTesting.Web

;

using Microsoft.VisualStudio.TestTools.UnitTesting;

[識別TestClass()]

公共類識別TestClass {

private TestContext testContextInstance; 

public TestContext TestContext { 
    get { return testContextInstance; } 
    set { testContextInstance = value; } 
} 

[TestMethod(), HostType("ASP.NET"), UrlToTest("https://localhost/xxx/Home.aspx")] 
public void TestMethod() 
{ 
    System.Web.UI.Page page = testContextInstance.RequestedPage; 

    PrivateObject po = new PrivateObject(page); 

    po.Invoke("Method1"); 
} 

}

回答

相關問題