单元测试部分类的InitializeComponent()

时间:2013-06-28 20:24:07

标签: c# visual-studio unit-testing interface partial-classes

我是C#和单元测试的新手,我一直在尝试为以下构造函数实现测试:

public Stepup()
{
    InitializeComponent();
}

Stepup是一个部分类并继承了一个接口。如何为这样的构造函数实现单元测试?除此之外,有哪些方法可以对没有参数的简单构造函数进行单元测试?

1 个答案:

答案 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的值。这是规范,可以测试。