我已经将Jenkins配置为一个使用Mercurial作为源代码控制管理的项目的CI。我正在使用Jenkins中的MSTest插件查看测试结果,并且我已经编写了一个bat命令来生成测试结果文件
del results.trx
mstest /testcontainer:Example\TestProject1\bin\debug\TestProject2.dll /resultsfile:results.trx它在控制台中给出一个错误,说找不到文件"Example\TestProject1\bin\debug\TestProject2.dll“”
每次构建时,都会在%WORKSPACE%下创建一个具有新名称的文件夹(SYSTEM_My_Computer_Name 2011-06-08 13_04_11)。因为测试dll位于一个名为out的目录中。如何获取dll路径,因为每个版本的目录名都会更改?
当我使用像"c:\Example\TestProject1\bin\debug\TestProject2.dll“这样的绝对url时,它工作得很好。
我们如何引用新构建的dll?是否需要将测试dll文件添加到存储库中?
发布于 2011-06-08 14:47:02
Jenkins以%WORKSPACE%作为当前目录运行bat文件。
如错误消息所示,测试容器的相对路径是错误的。我可以想到两件事,这可能是这里的问题:
%WORKSPACE%下的文件夹结构与您的相对路径不匹配。在bat文件中单独添加一个cd将在构建输出中显示它所在的位置。您还可以使用Jenkins web ui中的链接来浏览工作区。发布于 2011-12-16 13:50:24
文件夹“mstest 2011-06-08 13_04_11”不是由Jenkins在构建期间创建的,但它是由SYSTEM_My_Computer_Name在运行测试时创建的。调用mstest时的根文件夹是工作区根文件夹,因此应该从工作区根目录指定testcontainer文件。
例如,假设dll文件位于C:\jenkins\jobs\workspace\TestProject1\bin\debug\TestProject2.dll(assume下,则jenkins安装在c:\jenkins下)。
命令应为(相对于工作区根文件夹):
mstest /testcontainer:TestProject1\bin\debug\TestProject2.dll /resultsfile:results.trx
https://stackoverflow.com/questions/6274922
复制相似问题