我想單元測試代碼,其中包含邏輯,並訪問頁面上的控件。我已經瀏覽了很多例子,例如http://kmanojt.blogspot.com/2010/09/unit-testing-aspx-and-acsx-pages-with.html或http://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");
}
}