所以我的问题如下。(Microsoft 测试管理器、测试控制器、测试代理)
我有一个在多个服务上运行测试的测试计划,一些服务相同但版本不同。
不同版本的服务在其客户端 dll 上具有相同的名称。可以说 person.client.dll
所以问题来了。
当我运行测试(整个测试计划)时,第一个版本测试失败,但当我单独运行它们时它不会失败。
所以我用谷歌搜索并在 testagent 上做了一些登录,发现了这个:
将远程文件:C:\Users\service.tfstestcontr\AppData\Local\VSEQT\QTController\746\Deployment\Hogia.Person.Client.dll 复制到:C:\Users\fredrik.almen\AppData\Local\VSEQT\QTAgent \746\isptest2013.hogia.local\Deployment\Hogia.Person.Client.dll
因此,如果我正确地指出了问题,这就是问题所在。它将所有文件复制到同一文件夹“部署” person.client.dll 早期版本将首先出现,然后是第二个,覆盖第一个。
这将导致版本 1 测试失败,因为它违反了错误的 dll。
所以我的第一个想法是。开发人员需要重命名他们的 dll。但这是另一个问题。
我们的客户想要一种简单的方法来升级到新版本,因此在 dll 上使用相同的名称将大大简化他们的升级。
所以这不是一个选择。
我为每个项目构建所有内容,它们都是不同的解决方案,但在相同的构建定义中。
我的问题
有没有什么办法解决这一问题?也许复制功能将 alla dll 分隔在不同的文件夹或任何其他解决方案中。当他们进入 dropfolder 时,我想保留我的文件夹结构
(文件夹结构))
应用服务测试
人员服务测试
PErsonserviceTestsV2
请参阅链接:http: //prntscr.com/54vm0a
这就是 droplocation 的样子,所以它们都是分开的。然后,当我一起运行所有测试时,所有这些文件夹中的所有 dll 都被放置在部署文件夹的一个文件夹中,这就是当同名的 dll 被覆盖时。
我将所有内容都包含在一个构建定义中的原因是因为这是我们的部署验收测试,如果这些测试没有成功运行,那么我们将无法部署。因此,将不同的版本分开到不同的构建解决方案只会很耗时。部署验收测试的一个测试计划。运行测试的是开发人员,所以我们需要为他们保持简单,而不是为不同的版本引入不同的测试计划。
(因此具有不同 build_definition 的解决方案可能对我不起作用)
无论如何,在测试运行中进行复制时,是否将 testcontroller/testagent 配置为单独的 dll。那会为我解决问题吗?