【发布时间】:2014-06-19 06:12:21
【问题描述】:
假设我们有两个相互依赖的单元测试。 TestA 依赖于 TestB。现在我们要更改代码,这样当我们运行 TestA 时,TestB 会自动运行。
[TestMethod]
public void TestA()
{
string id = "123456789";
NewUser user = new NewUser();
Boolean idCheck = user.checkID(id);
Assert.IsFalse(idCheck);
}
[TestMethod]
[HostType("ASP.NET")]
[UrlToTest("http://localhost:1776/Login.aspx")]
[AspNetDevelopmentServerHost("$(SolutionDir)\\project", "/")]
public void TestB()
{
Page page = _testContextInstance.RequestedPage;
Button button = page.FindControl("BNewUser") as Button;
PrivateObject po = new PrivateObject(page);
po.Invoke("BNewUser_Click", button, EventArgs.Empty);
Assert.IsFalse(page.Visible);
}
【问题讨论】:
-
在 TestA() 中调用 TestB() 怎么样??
-
单元测试不应该相互依赖
-
我把 TestB() 放在 TestA() 里面,这个工作但还不够。我需要单元测试相互依赖,以便它们能够集成工作。
标签: c# unit-testing dependencies nunit