1

我们有一个完整的实验室管理环境,在夜间构建中运行 Coded UI 测试。我们试图实现的是在所有 Coded UI 测试之前运行我们的集成测试(带有 SQL 连接的常规 TestMethod()),以验证我们的 db 脚本是否正确执行,并且没有导致任何问题的新更改。

到目前为止,我已经找到了一种通过 .testrunco​​nfig 远程执行测试的方法。这种方法的问题是无法选择连接到团队项目的测试控制器,所以我想这仅对在实验室管理之外的物理机器上运行测试有用?

一种选择似乎是为每个集成测试创建一个测试用例,它应该与 UI 测试一起运行,但感觉管理数百个测试用例只是为了运行集成测试需要大量维护。此外,最好将不同类型的测试的测试运行完全分开。

有没有什么简单的方法可以实现我完全错过的?还是我必须修改实验室构建模板才能部署和运行测试?

4

2 回答 2

1

我想这仅对在实验室管理之外的物理机上运行测试有用?

如果您通过远程运行测试.testrunconfig,则必须将测试代理连接到另一个未连接到团队项目的测试控制器。不幸的是,据我所知,在实验室管理下运行的环境是不可能的。

这种方法怎么样:

  1. 创建一个包含所有集成测试的有序测试。
  2. 创建一个新的测试用例“集成测试”并通过有序测试自动化它因此您不必维护数百个测试用例。如果您想对集成测试进行分组,您还可以创建多个有序测试,然后创建一个包含它们的“主”有序测试。这种方式将更容易分析测试结果,特别是如果您有很多测试。
  3. 集成测试作为现有夜间构建的一部分运行。
  4. 创建一个新的 构建定义,它不会开始构建,而是使用最后一次成功的夜间构建,并让您的CodedUI测试使用Lab Build Template运行。

这样,您将对不同类型的测试进行不同的测试运行。

唯一的缺点是您必须“同步”这两个构建......您可以稍后安排第二个构建,这样您就可以确保第一个构建完成。

我知道这不是很完美……但这样你就可以轻松实现你的目标。

于 2013-04-18T07:04:02.360 回答
0

我不确定是否有替代解决方案,但是在我目前正在处理的项目中,我们在 Nightly Build的 Process 选项(Process>Basic>AutomatedTest>TestAssembly)下设置了单元和集成测试程序集。
正如您所建议的,这是通过稍微更改默认构建过程模板(不是实验室默认值)来实现的(我认为这是标准的,但已经有一段时间了)。

于 2013-04-17T22:31:20.043 回答