当直接使用 NUnit 执行时,我的测试工作得很好,但是当通过 OpenCover 执行时(仍然使用 NUnit 作为测试运行器),我得到以下错误:
ProcessModel: Default DomainUsage: Single
Execution Runtime: Default
.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F
.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F. F.F.F.F.F.F.F.F.F.F.F.F.F.F.F
.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F
.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F
Tests run: 200, Errors: 0, Failures: 200, Inconclusive: 0, Time: 0,5410309 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Errors and Failures:
1) SetUp Error : GeoGen.Studio.PlugInLoader.LoaderTests
SetUp : System.MissingMethodException : Method not found: 'VoidSystem.CannotUnloadAppDomainException.SafeVisited(Int32)'.
at GeoGen.Studio.PlugInLoader.LoaderTests..ctor()
2) Parent Failure : GeoGen.Studio.PlugInLoader.LoaderTests.AddPlugIn_ValidPlugIn_CreatesInstance
TestFixtureSetUp failed in LoaderTests
每次测试都会重复错误 2。所有测试都应该通过(并且它们在 NUnit 中通过)。 Coverage 与 NCover 一起正常工作,但它的试用期已过,我买不起许可证。
感谢您的帮助!
最佳答案
我遇到了同样的问题 - 您似乎发布了一个 issue to github这帮助我解决了它,所以我将它发布在这里以供遇到相同问题的其他人使用:
我通过升级到 latest OpenCover 解决了这个问题(此时为 4.0.804)并在我调用 OpenCover 时添加 -oldStyle
开关。似乎最新的 OpenCover 正在输出 ReportGenerator 的内容不喜欢,所以我也必须升级它。
我不知道是什么导致了这个失败,它似乎来 self 们的 CI 服务器上的任何地方。希望对以后遇到这个问题的任何人有所帮助。
关于.net - NUnit 测试在 OpenCover 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9609760/