我是C#和单元测试的新手,我一直在尝试为以下构造函数实现测试:
public Stepup()
{
InitializeComponent();
}
Stepup是一个部分类并继承了一个接口。如何为这样的构造函数实现单元测试?除此之外,有哪些方法可以对没有参数的简单构造函数进行单元测试?
答案 0 :(得分:2)
当构造函数运行时,有关构造对象的某些不变量应为true。您需要指定这些不变量是什么,然后 test 在构造函数完成执行时它们是真的。这里的要点是你不测试构造函数的内部实现细节,只有你的规范说明构造对象的真实情况才是真的。
例如:
class Circle {
private readonly double radius;
public double Radius {
get {
Contract.Ensures(Contract.Result<double>() >= 0));
return this.radius;
}
}
public Circle(double radius) {
Contract.Requires(radius >= 0);
this.radius = radius;
}
}
这里,构造函数完成后的不变量是Circle.Radius
返回传入的构造函数参数radius
的值。这是规范,可以测试。