我已经通过设置项目设置 | 调试 | 启动外部程序来配置Visual Studio 2010以便调试xUnit.net测试。
这个方法可以正常工作,但只有在通过命令行参数提供测试项目dll文件的完整路径时才能使用,例如:"c:\development\TestProject.dll"
我尝试过在命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。您有什么建议可以避免显式/完整路径?
我已经通过设置项目设置 | 调试 | 启动外部程序来配置Visual Studio 2010以便调试xUnit.net测试。
这个方法可以正常工作,但只有在通过命令行参数提供测试项目dll文件的完整路径时才能使用,例如:"c:\development\TestProject.dll"
我尝试过在命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。您有什么建议可以避免显式/完整路径?
<PropertyGroup>
<StartAction>Program</StartAction>
<StartProgram>$(MSBuildProjectDirectory)\..\..\Packages\xunit.runners.1.9.1\tools\xunit.gui.clr4.exe</StartProgram>
<StartArguments>"$(MSBuildProjectDirectory)\$(OutPutPath)$(AssemblyName).dll"</StartArguments>
</PropertyGroup>
PM> Install-Package xunit.runners
目前唯一的缺点是它是版本特定的,所以每次更新 NuGet 包到最新版本时,您应该更新此配置以指向正确的运行程序。
在James和Brad对xUnit.net Runners进行了大量改进之前,已经有人回答了这个问题。请参见下面michielvoo的答案。
为了避免显式指定库名称的问题,可以使用cmd.exe和命令行参数:/C xunit.console.exe $(BinDir)$(TargetName)$(TargetExt)
勾选使用输出窗口
使用工具|选项|键盘配置来分配快捷键。
我只需键入程序集的完整名称就可以了。
在命令行参数下:SharedDataBridge.Tests.dll