Azure开发人员在测试运行期间找不到TestCase

问题描述

我有一个Azure DevOps发布管道设置,可以根据此设置运行测试:

https://docs.microsoft.com/en-us/azure/devops/test/run-automated-tests-from-test-hub?view=azure-devops

我的班级文件包含具有4个测试用例的单元测试,其格式如下:

[TestCase("test1","arg1","arg2")]
[TestCase("test2","arg2")]
[TestCase("test3","arg2")]
[TestCase("test4","arg2")]
public void Test(string name,string arg1,string arg2)
{
    TestStuff();
}

当我运行测试时,将创建一个新版本并成功运行测试,但是在4个测试中仅找到3个。由于某些原因找不到test2,只会被跳过。从日志中,我发现总共发现了146个测试,这些测试是准确的,但只有3个被“发现”。

2020-08-19T23:41:28.3146168Z Number of testcases discovered : 146
2020-08-19T23:41:28.3166614Z ##[debug]PERF: discoverTests:AddTestCases: took 0.005 ms
2020-08-19T23:41:28.3290518Z discovered tests 146 from sources
2020-08-19T23:41:28.3291189Z 
=================================================================
2020-08-19T23:41:28.3291959Z ##[debug]discoverTests.Performdiscovery : Test discovery completed.
2020-08-19T23:41:28.3295732Z ##[debug]PERF WARNING: discoverTests.Performdiscovery: took 11963.8108 ms
2020-08-19T23:41:28.3607538Z [RunStatistics]This execution slice with id '3',received '4' testcases to execute out of which '3' is discovered.

discovered中只有3个是什么意思?

如果我尝试自行运行该测试,则整个操作都会失败

Microsoft.VisualStudio.TestService.VstestAdapter.TestsNotFoundException:在测试计算机上未找到与源筛选器条件匹配的测试程序集,或者未找到与测试筛选器条件匹配的测试。确认机器上存在测试组件,并且测试过滤器标准正确。

我已经通过VS(2019)验证了测试已正确关联到测试用例,并且其他3个测试运行良好,只是由于某种原因而找不到的只是1个测试。

解决方法

事实证明,该问题是单元测试和测试用例之间的链接问题。我验证了现有的关联是正确的,但最终还是结束了:

  1. 在Azure DevOps测试用例详细信息中,删除了Associated Automation
  2. 在VS2019中,我将单元测试重新关联到测试用例

我再次运行测试计划,到时所有的测试用例都被发现了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...