xunit测试的Azure管道并发(非并行)测试执行

ozxc1zmp  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(163)

我正在使用azure pipeline来执行API测试,测试是串行执行的,我已经达到了我的作业运行超过1小时的点-这意味着代理失败,因为1小时是最大作业执行时间。我已经开始阅读如何并行执行测试,在xunit中,当测试不在同一个集合中时,默认情况下应该并行运行。然而,在azure中,在https://learn.microsoft.com/en-us/azure/devops/pipelines/test/parallel-testing-vstest?view=azure-devops之后,要并行运行测试,需要使用多个代理,显然需要使用多个作业。

  • 我们的代理数量有限,其他人也想使用它们,我不想占用过多的代理;
  • 我需要为cosmosdb配置两个防火墙为每个工作(1个工作= 1个代理,每个代理有新的ip我需要添加到防火墙),这个任务需要8分钟,我需要配置2个数据库(16分钟),每个新的工作将意味着我需要额外的16分钟配置防火墙。

所以我的问题是-是否有可能通过使用同一个内核来并发而不是并行地运行测试?我有很多线程。(但在我看来,我使用它们的正确方式,因为我等待一些结果的一段时间,如60秒,但是我线程休眠2秒,并且每2秒我在示例数据库中轮询一次是否有结果)-线程。休眠意味着线程正在休眠,且内核应该可供其他线程运行。

cwdobuhd

cwdobuhd1#

显然我发布问题太快了,发现我所需要做的就是设置[汇编:收集行为(MaxParallelThreads = n)]设置为我想要的数量(来源:https://xunit.net/docs/running-tests-in-parallel)。默认值是逻辑处理器的数量,如果是Azure代理,则此数量等于1。

相关问题