这是一个自我回答的问题,但如果有人能提供更好的答案,请做!
我试图开始使用NUnit。我使用MSI安装程序安装了NUnit 3.4,并且还安装了3.2测试适配器。然后我为单元测试创建了一个简单的项目和一个单独的类库。然后我添加了对NUnit框架的引用。该库构建正常,但是当尝试通过测试适配器或使用命令行运行程序运行它时,我收到此消息:
NUnit 3.0驱动程序无法支持此测试程序集。使用平台 特定的跑步者。
没有关于为什么它不能支持这种特殊的无害测试程序集的具体细节。测试适配器也提供了一个例外名称,但它也不是特别有用。
环境详细信息:Microsoft Visual Studio 2013,.Net 4.5。
问题是:发生了什么,最重要的是,如何解决这个问题?
答案 0 :(得分:2)
在玩引用时,我注意到无论我从列表中选择什么NUnit框架,当我关闭项目属性窗口并再次打开它时,我看到对 portable NUnit的引用框架。解决方案管理器中引用列表中的工具提示还显示包含单词“portable”的路径。并且看起来这个便携式框架有些东西是测试运行者不喜欢的。
由于我不需要这个可移植的框架,我试图专门添加4.5框架。它没用。无论我选择什么,便携式框架都会出现!
所以我决定采用简单的方法并卸载NUnit,然后使用“自定义”安装重新安装它,并取消选择可移植框架。像魅力一样工作!现在,当我添加NUnit框架作为参考时,添加了4.5框架,并且在Visual Studio中使用测试适配器运行良好。
如果有人知道如何修复它而不卸载便携式NUnit框架,欢迎您发布另一个答案!
答案 1 :(得分:2)
我在https://github.com/nunit/nunit/issues/1646
为此创建了一个问题这是在第一个NUnit 3.0版本中测试过的,然后工作,但很可能新版本的Visual Studio以不同方式解析引用。
解决方法是浏览所需的NUnit版本,而不是从程序集|中选择它。扩展即可。默认情况下,.NET 4.5版本的NUnit Framework会安装到C:\Program Files (x86)\NUnit.org\framework\{version}\net-4.5
。
答案 2 :(得分:0)
这个错误也发生在我身上,但在我所拥有的50个测试组件中只有1个。我通过卸载失败的项目的NUnit NuGet包来修复它,然后重新安装它。它似乎修复的问题是项目文件中的提示路径不正确。在修复之后,测试程序集运行时没有出现该错误。