我已经使用了NUnit多年,我想尝试XUnit。所以我安装了XUnit并运行了允许您通过TD.net运行XUnit的可执行文件。
我似乎无法一次运行多个测试。使用NUnit + TD.net,我可以单击解决方案中的文件名并运行文件中的所有测试。我似乎无法用XUnit + TD.net做到这一点。
这是我能做的吗?
答案 0 :(得分:17)
确保运行XUnit.net附带的安装程序。 有一个按钮可以安装TestDriven.net支持。
此处描述了您遇到的问题: http://www.codeplex.com/xunit/Wiki/View.aspx?title=FaqTestDrivenNet&referringTitle=Home
答案 1 :(得分:8)
简答:将以下内容复制到计算机上的.reg文件中,更新Xunit dll所在的路径,然后将其导入注册表。
Windows注册表编辑器版本5.00
[HKEY_LOCAL_MACHINE \ SOFTWARE \ MutantDesign \ TestDriven.NET \ TestRunners \ xunit] @ =“4” “AssemblyPath”= “C:\ _文件\程序\程序\的xUnit \的xUnit-1.1.0 \ xunit.runner.tdnet.dll” “类型名”= “Xunit.Runner.TdNet.TdNetRunner”
长答案:
在32位和64位版本的Windows上,我遇到过几次这个问题。 TestDriven.net使用注册表来存储可用的测试框架列表。 XUnit附带了一个安装程序xunit.installer(以管理员身份运行),它可以生成正确的注册表项。
通常我可以让TD.net使用XUnit一段时间,然后我放松支持。今天我试图让它首次在Windows 7测试版上运行,但根本无法使用它。
经过一些搜索后,我发现了注册表项,应该输入有关测试框架的信息。
HKEY_LOCAL_MACHINE \ SOFTWARE \ MutantDesign \ TestDriven.NET \ TestRunners
现在在64位系统上,Wow6432Node下还有一个密钥,就像Xunit安装程序设置注册表密钥一样。
无论如何,我从HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MutantDesign \ TestDriven.NET \ TestRunners \ xunit导出了xunit注册表项,并对其进行了编辑,删除了Wow6432Node然后将其导入。重启visual studio后,一切正常。我将保留注册表文件,以防它再次中断。