使用NANT和VS2008进行构建过程中的自动化单元测试

3
我正在使用VS2008 Pro,因此我的C#项目包括一堆在MS捆绑的单元测试框架中编写的单元测试(很抱歉,我不知道它的官方名称是什么!)。 我希望能够在构建过程中运行这些单元测试。
是否有可能让Nant在构建期间自动运行这些单元测试?
2个回答

2
我遇到的解决方案如下:

以下是具体步骤:

<exec program ="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" >
    <arg value="/testcontainer:${Test_dll}"/>
    <arg value="/resultsfile:C:\Test\TestResults.trx"/>
</exec>

这只是基本的nant元素,虽然它与MSTest命令行一样具有可扩展性。


0

这被称为MSTest。您可以使用exec任务直接调用可执行文件:

(对于旧版本的NAnt而言是正确的,但显然不再适用。请参见已接受的答案)。

<exec>
    <executable>%VS_INSTALL%\Common7\IDE\MSTest.exe</executable>
    <baseDirectory>PPRJECT LOCATION</baseDirectory>
    <buildArgs>/testcontainer:TestDLLs /runconfig:localtestrun.Testrunconfig /resultsfile:testResults.trx</buildArgs>
    <buildTimeoutSeconds>600</buildTimeoutSeconds>
</exec>

我很惊讶它没有内置任务。

供参考,这里是MSTest命令行选项的列表。

注意:这些选项适用于VS2010,您可以通过在页面上选择正确的版本来查看其他VS版本的命令行选项


Nant现在似乎已经死了,当它还在开发时,ms tests并不受欢迎。 - Grzenio
2
我不同意,因为nant的最后更新是在2天前(2010年8月17日)。我认为你不能真正说它已经“死了”! - TK.
-1:此语法不再适用于最新版本的NAnt。请查看被接受的答案。 (此回答确实附有MSTest命令行选项的链接,我只是将其投票降低以便正确的XML构建语法出现在顶部) - Laoujin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接