我目前正在尝试从NCover运行MSTest.exe,但我相信这个问题通常适用于从命令行运行MSTest.exe.
如果我有"/ noisolation"参数,那么MSTest.exe似乎找到并按预期使用app.config.没有它,NCover不会捕获任何覆盖信息.从我迄今为止的研究来看,似乎NCover需要/不分离.所以问题是如何在传递参数时让我的*.config文件工作.
我的NCover设置是:
应用程序到配置文件
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe
工作文件夹
C:\ Documents and Settings\MyProfile\My Documents\Visual Studio 2008\Projects\XYZ\XYZ.CoreTest\bin\Debug
应用程序参数
/ noisolation/testcontainer:"C:\ Documents and Settings\MyProfile\My Documents\Visual Studio 2008\Projects\XYZ\XYZ.CoreTest\bin\Debug\XYZ.CoreTest.dll"
更新:我添加了一条跟踪,显示我的配置(不奇怪)试图从"C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe.Config"中读取.
更新2:如果可能的话,我不想编辑MSTest.exe.Config.这不是非常便携.
来自Craig Stuntz的链接文本评论
如何使用MSTest执行此操作.
在解决方案资源管理器中,右键单击解决方案(而不是项目).
单击添加,新项
在"类别"中,选择"测试运行配置
现在选择Test Run Configuration项,并将其添加到项目中
在"解决方案资源管理器"中,双击刚刚创建的"测试运行配置"
单击"部署"项
将配置文件添加为已部署的文件(或部署包含它的整个文件夹,如果适用)
我花了一点时间才弄明白,但我处于类似情况,它对我有用.
在visual studio中,将App.config文件标记为属性为CopyAlways.(右键单击文件,选择属性以进入属性面板)