所以我有一个工厂类,我试图找出单元测试应该做什么。从这个question我可以验证返回的接口是我期望的特定具体类型。具有具体类作为返回类型的单元测试工厂方法
我应该检查工厂是否返回具体类型(因为目前没有必要使用接口)?目前我正在做类似如下:
[Test]
public void CreateSomeClassWithDependencies()
{
// m_factory is instantiated in the SetUp method
var someClass = m_factory.CreateSomeClassWithDependencies();
Assert.IsNotNull(someClass);
}
这样做的问题是,Assert.IsNotNull
似乎有些多余。
而且,我的工厂方法可能设立特定类的依赖,像这样:
public SomeClass CreateSomeClassWithDependencies()
{
return new SomeClass(CreateADependency(), CreateAnotherDependency(),
CreateAThirdDependency());
}
我想确保我的工厂方法正确设置所有这些依赖。是否没有其他的方法来做到这一点,然后再依赖我的属性,然后在单元测试中检查? (我不是修改测试主题以适应测试的大爱好者)
编辑:为了回应Robert Harvey的问题,我使用NUnit作为我的单元测试框架(但我不会想到它会产生太大的差异)
你使用什么测试框架? – 2009-06-30 03:18:18
一些测试框架要求您的类是虚拟的,以便测试框架可以继承它们。有些不。巨大的差异。 – 2009-06-30 04:15:10