xUnit 1.9.2和.Net 4.0

4

我尝试在C#测试中使用xUnit,但遇到了一个奇怪的错误。

我可以在VisualStudio(2013)中运行单元测试,但当我尝试使用GUI或控制台运行相同的测试时,会出现以下错误:

xUnit.net console test runner (32-bit .NET 2.0.50727.5472)
Copyright (C) 2013 Outercurve Foundation.

Could not load file or assembly '[...]' or one of its dependencies.
This assembly is built by a runtime newer than the currently loaded
runtime and cannot be loaded.

我的项目使用的是 .net 4.0 版本,而 xUnit 使用的是 2.0 版本。我在这里这里找到了一些帖子,说可以编辑配置文件来解决问题,但这对我没有起作用。这些帖子都有几年的历史了,而且它们甚至彼此不一致。一个说应该是“supportedRuntime”,而另一个是“requiredRuntime”。然而,两个选项都对我无效。
我也考虑下载源代码并使用 4.0 编译,但根据网站上的说明,需要使用 VS 2010。
在 IDE 中运行测试非常好,但我还需要使用控制台运行程序才能在构建机上执行自动化测试。有方法可以使它正常工作吗?xUnit 还在维护吗?
我还发现另一个帖子中说该问题在 2010 年已得到解决。也许这是回归失败?
2个回答

7
感谢您,Mark。但是我已经发现了一个针对.Net 4.0的单独的xunit.console.clr4.exe可执行文件。
也许是因为我在这上面浪费了半天时间才让我有点烦躁,但是xUnit网站上没有提到过这一点。事实上,该网站只讨论如何使用VS运行测试。我在博客网站上找到了关于控制台运行程序的参考信息。
开始怀疑xUnit,也许我应该看看nUnit。它似乎至少有文档资料。

Mark,请你能接受这个答案吗?这样它就不会显示在列表中了。 - Josh Gallagher
还有一个单独的 xunit.gui.clr4.exe,不过在我阅读这个答案之前我并不知道。 - Joel Anair

0

本页面编译了一个非官方版本的xunit运行器,支持.net4 - https://composure.codeplex.com/

我不知道xunit项目是否已经停止,codeplex网站仍然显示git提交日志中有一些活动,但谁知道呢...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接