我创建了一个iOS单元测试项目。
当我单独运行[TextFixture]
时,一切都很好,我的所有测试都通过了。
但是,如果我选择Run All
,则会有一个[TestFixture]
通过,但其他人将失败并显示以下错误:
System.Reflection.TargetException: Object of type 'MyNamespace.Tests.iOS.Tests.TestBar' doesn't match target type 'MyNamespace.Tests.iOS.Tests.TestFoo'
TearDown : System.Reflection.TargetException : Object of type 'MyNamespace.Tests.iOS.Tests.TestBar' doesn't match target type 'MyNamespace.Tests.iOS.Tests.TestFoo'
它总是处于相同的模式中。在上面的情况下,首先运行MyNamespace.Tests.iOS.TestFoo
,然后尝试下次运行的任何套件都会生成带有关联[TestFixture]
的错误。
WORKING
如果我深入查看模拟器中失败的[TestFixtures]
之一并运行一个测试,然后滚动到Run All
以获得该套件,这很好。
失败
如果我收到该错误并向下钻取到模拟器中失败的[TestFixture]
之一,则滚动到Run All
,因为该套件失败。
所以似乎在套件中运行一次测试的行为必须重置一些东西,但我不知道是什么。
看起来与此问题类似: https://bugzilla.xamarin.com/show_bug.cgi?id=18655
我确实有异步测试。
这就是它的样子:
... 以后 ...
进一步挖掘,我刚尝试升级到NUnit 3.6.1和相应的跑步者:
https://github.com/nunit/nunit.xamarin
我没有收到错误,所以它似乎只是旧版NUnitLite的错误?