【发布时间】:2010-11-06 21:18:43
【问题描述】:
所以我有一个工厂类,我正在尝试找出单元测试应该做什么。通过这个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());
}
我想确保我的工厂方法正确设置了所有这些依赖项。有没有其他方法可以让我在单元测试中检查这些依赖项public/internal 属性? (我不喜欢修改测试对象以适应测试)
编辑:针对 Robert Harvey 的问题,我使用 NUnit 作为我的单元测试框架(但我不会想到它会产生太大的影响)
【问题讨论】:
-
你用的是什么测试框架?
-
一些测试框架要求您的类是虚拟的,以便测试框架可以继承它们。有些没有。巨大的差异。
标签: unit-testing tdd factory