【问题标题】:TFS 2013 automated build: Is there a way to run the tests from the src folderTFS 2013 自动构建:有没有办法从 src 文件夹运行测试
【发布时间】:2014-06-30 01:35:36
【问题描述】:

我目前正在使用 TFS 2013 中的默认构建过程模板进行自动构建。

我已将 OutputLocation 参数配置为 AsConfigured 以获得与我的 Visual Studio 解决方案相同的文件夹结构(解决方案中有多个项目,我不希望将它们全部放在同一个文件夹)。

问题在于,当构建过程尝试运行测试时,它会在 bin 文件夹下查找任何程序集,而我的构建配置使它只有一个 src 文件夹。

有没有办法指定查看src 文件夹?使用AsConfigured 设置时,它不应该是默认值吗?

编辑:为了清楚起见,运行 TFS 自动构建时通常会生成 3 个文件夹(src、bin、tst)。当使用 AsConfigured 作为输出位置时,没有 bin 文件夹。我尝试了一个需要更改构建过程的Test sources spec 设置的建议,但我遇到了与以前相同的问题:

There were no matches for the search pattern C:\Builds\8\MyProject\MyBuildDefinition\bin\***test*.dll

【问题讨论】:

标签: visual-studio tfs visual-studio-2013


【解决方案1】:

我最终做的是使用 PowerShell 脚本作为构建后事件,将我的测试程序集复制到构建的 bin 文件夹中。

在 CodePlex 上有可用于 TFS 2013 的 PowerShell 脚本,我稍微修改了 this one 以适应我的需要。

通过这样做,我能够使用默认设置来运行测试,而且效果非常棒。

【讨论】:

  • 我已经在使用 PowerShell 脚本的修改版本,因此只需添加我的测试程序集就可以了。谢谢!
【解决方案2】:

在您的构建定义中,将设置“测试源规范”的值更改为 ***test*.dll(假设您的单元测试程序集以 .test.dll 为后缀)

编辑:请使用 **\*test*.dll;**\*test*.appx

【讨论】:

  • 那就试试..*test.dll
  • 我已经编辑了答案。没有意识到所以省略了我的黑斜线。希望这会有所帮助
  • @HamidShahid 这似乎对我也不起作用。使用其他两个选项有效,但 AsConfigured 似乎无法运行测试。
  • 这对我也不起作用。此外,**\*test*.dll 是默认值(至少对于 TfvcTemplate.12.xaml 工作流)
  • 这本身不起作用,因为使用 AsConfigured 构建选项时 bin 目录为空。您需要实现像@Deli 建议的脚本。然后您的设置值将按设计工作。
【解决方案3】:

尝试使用此文件掩码:..\**\*test*.dll

它对我有用。

【讨论】:

    【解决方案4】:

    我为 X64 平台设置了“AsConfigured”设置,将二进制文件放入 src\x64\Release\ (并且它曾经在没有该开关的情况下将它们放入 bin\x64\Release\)。所以,我最终使用..\..\..\src\**\*test*.dll 作为我的“测试源规范”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2023-03-18
      相关资源
      最近更新 更多