Svi*_*ish 6 nunit unit-testing testdriven.net partial-classes
我刚刚发现我的测试次数是我应该得到的两倍.在测试中断时我发现了两次相同的测试失败.同样的测试,一切都一样.让我很困惑,但设法将其缩小到某个部分类的测试类.
它是一个部分类的原因是我把测试类分成了两个,只是为了让它更干净一点.被测试的类有一个需要大量测试的特定方法,我认为将它们放在一个单独的文件中会更清晰.但是由于使用了一个或两个辅助方法,我认为我可以使该类部分,因此两个文件仍然可以访问这些方法.
测试框架是NUnit,测试是使用TestDriven.Net运行的.从单个测试方法(报告两个测试通过而不是一个),在类(获得测试数量的两倍)和整个测试项目中进行测试.
管理通过使类不是部分的来修复问题,只是复制那些微小的帮助器方法(可能会将它们移动到一个单独的帮助器类或稍后的东西).
现在......为什么这发生了呢?我认为部分类被编译成一个类?这是一般的部分类,NUnit,Test-Driven.net还是完全不同的问题?
您可能将该[TestFixture]
属性放在分部类的两个文件中。这将导致TestFixture
在 IL 类定义中发出两次,并且 NUnit 将运行相同的测试代码两次。您应该只添加[TestFixture]
部分类的文件之一。
归档时间: |
|
查看次数: |
837 次 |
最近记录: |