這種測試應該在集成測試中完成,而不是單元測試。您不想在每次運行其他測試時運行該程序,只有在您推入產品之前進行運行,才能在Jenkins或appveyor等持續集成系統中運行。您可以使用諸如Selenium Webdriver之類的工具來打開瀏覽器(如Chrome),並驗證最終結果是否包含您希望的文本。
我建議你看看page pattern它真的幫了我們。
這裏有一個樣品的測試可能是什麼樣子,請注意,我們有很多幫助,使測試乾淨,容易閱讀/維護:
[Test]
public void CreateViewAndEditShouldWork()
{
S.OpenWithCI();
var loginPage = new LoginPage(S);
var centerListPage = loginPage
.LoginValidUser("username", "password")
.MenuClickCenterAndRoomLink();
var centerPage = centerListPage.ClickCreateLink();
//Create
centerPage.Submit();
Assert.That(centerPage.Error("Name"), Is.StringContaining(Strings.Error_Required));
Assert.That(centerPage.Error("EnglishName"), Is.StringContaining(Strings.Error_Required));
centerPage.Name = "Saguenay";
centerPage.EnglishName = "Sag";
centerPage.Address = "2089 blv Talbot";
centerPage.DivisionAfiSelected = true;
centerPage.Submit();
centerListPage.ExpectSuccessNotice(Strings.CenterCreatedSuccessfully);
//View
var centerDetailsPage = centerListPage.ClickDetailsLink("Saguenay");
Assert.That(centerDetailsPage.Title, Is.StringContaining("SAGUENAY"));
Assert.That(centerDetailsPage.Details, Is.StringContaining("Inactive"));
Assert.That(centerDetailsPage.Details, Is.StringContaining("2089 blv Talbot"));
//Edit
centerPage = centerDetailsPage.ClickEdit();
centerPage.Name = "Chicoutimi";
centerPage.Submit();
centerListPage.ExpectSuccessNotice(Strings.CenterUpdatedSuccessfully);
}
希望它能幫助!
好信息!我對測試很陌生(除了運行和手動嘗試),但我將不得不對集成測試進行一些研究。謝謝! – bradlis7