【发布时间】:2012-03-08 06:57:19
【问题描述】:
我使用单元测试向导在我的解决方案中创建了一个单元测试:我选择了类及其所有方法和属性,然后向导为每个类创建了一个包含测试方法的新文件测试方法。
显然,测试应该是可靠的,也就是说,只有当模块没有按预期工作而不是因为测试构建不佳时,测试才会失败。所以第一个问题是:构建测试应该遵循哪些准则?
在创建我的第一个测试时,我试图编写简单的测试用例,从而减少出错的可能性:例如,要测试一个集合,您需要向它添加一些元素,所以我创建了一个私有方法,例如在我的测试单元中关注:
// This is not a test method, but a support method for the test methods.
private void AddSomeElements(ICollection c, int count)
{
Random rand = new Random();
...
for(int i=0; i < count; i++)
c.Add(...);
}
因此,例如,Count 属性的测试可能是:
/// <summary>
///A test for Count
///</summary>
[TestMethod()]
public void CountTest()
{
HostsCache target = new HostsCache();
AddSomeElements(target, 100);
int actual;
actual = target.Count;
Assert.AreEqual<int>(100, actual);
}
这种方法正确吗?
假设Add方法返回一个值(例如bool值):在这种情况下,上面的私有方法是否也应该返回这个值?
【问题讨论】:
标签: c# .net visual-studio-2010 unit-testing