我试图建立一种便于Visual Studio解决方案:从NuGet安装NUnit后,如何强制TestDriven.Net使用NuGet引用的NUnit DLL?
BDD
使用SpecFlowhttp://www.specflow.org/
由于这里TekPub描述:http://tekpub.com/view/concepts/5
我想:
要将所有引用和依赖 我的解决方案的 目录结构
使用的能力的根目录下,“测试用 NUnit的”,命令当我在TestDriven.NET 提供的项目上右击 时。
我不想:
- 要使用NUnit的版本 TestDriven.NET安装本身
我想:
- 的,“测试随着NUnit的”,命令来使用 的NUnit的版本的NuGet下我 解决方案的子目录安装我
更多细节,我已经尝试过:
当您安装TestDriven.NET会将自己版本的NUnit像一个路径:
- \程序文件(x86)\测试Driven.NET 3 \ NUnit的\ 2.5
当您使用的NuGet安装NUnit的最新版本,它会将NUnit的像一个路径:
- Solution_root \ \包NUnit.2.5.10.11092
NuGet会自动为您添加对\ packages \ NUnit.2.5.10.11092 \ lib \ nunit.framework.dll的引用。如果你碰巧想用TD.Net菜单轻松地执行NUnit测试,那么这个引用是毫无价值的,因为TD.Net实际上并没有使用NuGet刚刚为你设置的NUnit dll。
- 如何强制TestDriven.Net的使用菜单中引用的DLL的NUnit我的解决方案的路径,而不是它在\程序文件(x86)\ TestDriven.NET 3安装\ NUnit的\ NUnit的DLL?
OR
- 如果这是不可能的,有一个简单的快捷键/菜单命令来执行与下我的解决方案文件夹,而无需使用TestDriven.Net NUnit的的SpecFlow测试?
我为什么要这么做?
我用NuGet安装了NUnit,这样我就可以将测试框架库保存在我的解决方案和源代码控制之内。我需要能够在我的解决方案路径(Solution_root \ packages \ NUnit.2.5.10.11092)下引用像nunit.framework.dll这样的东西,而不是从(\ Program Files(x86)\ TestDriven.NET 3 \ NUnit \ 2.5中引用它) 。
我已经尝试过的建议在这里:
,它似乎仍然推出TestDriven.Net的版本NUnit的,而不是一个的NuGet安装我的。
我也不想在手动复制和取代的TD.Net安装为不允许源控制下的解决方案,相关文件和隔离NUnit的文件。
如果这是不可能的,任何人都可以推荐一种方法:安装xUnit。net,NUnit或MSTest通过NuGet,SpecFlow使用该解决方案中安装的NuGet包,并且通过简单的右键单击或接近自动的方式告诉Visual Studio“立即运行所有这些测试”? – Kerry 2011-05-22 16:38:04
这不是对这个确切问题的答案,但这里是我现在使用的解决方法: 右键单击包含规格/测试的类库并选择属性。选择生成事件选项卡。 在生成后事件命令行补充一点: $(SolutionDir)\包\ NUnit.2.5.10.11092 \工具\ nunit.exe $(TARGETPATH)/运行 替换\ NUnit.2.5.10.11092 \与任何确切版本NuGet安装在你的sln下。 运行后构建事件:成功构建。 每次构建好之后,NUnit GUI将启动并在dll中运行测试。 – Kerry 2011-06-12 05:15:02