【发布时间】:2009-12-21 06:33:52
【问题描述】:
我已经检查过了..similar question 但我不相信答案...
我目前有一个仅由一个类实现的接口,但迟早会改变。我目前有一个针对接口的测试,所有测试开头都是:
IFoo foo = GetConcreteFoo()
GetConcreteFoo 类似于
IFoo GetConcreteFoo()
{
return new ConcreteFooA();
}
但是,当我获得更多 Foo 的实现时,是否有办法让所有测试针对所有不同的具体 foo 列表运行?
我在想,如果没有办法,至少我可以将测试复制/粘贴到一个新文件中,名称为具体类,并更改 GetConcreteFoo 的返回对象...... (并将原始文件从 (IFooTests 更改为 IConcreteFooATests)。
我不认为这种方法特别糟糕.. 但它不太优雅/聪明,因为它会针对所有具体实现运行相同的测试(文件)。
有没有办法让它做到这一点?
(我正在使用 MSTests )
谢谢!
【问题讨论】:
标签: c# unit-testing interface mstest