【问题标题】:Test case not finding tests in assembly测试用例在汇编中找不到测试
【发布时间】:2019-07-23 06:06:33
【问题描述】:

我正在尝试在 TFS 中设置自动化测试。我有一个包含一个项目和两个单元测试的解决方案。

我可以很好地在 TFS 中构建我的解决方案,并将我的测试用例与单元测试相关联。

当我通过 TFS 运行测试用例时,状态变为“进行中”,我可以看到我的代理正在接手任务。几秒钟后,代理提示“Job Release completed with result: SucceededWithIssues”。当我检查代理的日志时,最后一行是完整的。

当我回到 TFS 时,状态仍然是“进行中”。

当我单击“运行”图标时,它会立即提示我一个对话框,并带有一个“查看测试运行”按钮。当我点击那里时,它显示“刚刚中止,运行了 03 秒”。

谁能帮助我朝着正确的方向前进?

更新

我设法找到了一个日志文件:

2019-03-01T08:50:15.6478536Z Total Tests : 1, Passed Tests : 0
2019-03-01T08:50:18.6816644Z Test source filter: **\Tests.dll
2019-03-01T08:50:18.6816644Z Count of test sources found: 0
2019-03-01T08:50:18.6826624Z ##[warning]No test sources found
2019-03-01T08:50:18.6896764Z ##[error]ExecutionTaskStateModel.ExecuteTask: Recived error while executing task: System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: No test assemblies found on the test machine matching the source filter criteria or no tests discovered matching test filter criteria. Verify that test assemblies are present on the machine and test filter criteria is correct.

从我的构建日志中,我得到了这个:

2019-03-01T10:34:58.4371090Z Total tests: 2. Passed: 2. Failed: 0. Skipped: 0.

所以它会在正确的位置提取我的测试,并在构建中通过它们,而不是在 testing-post-build(发布后?)阶段。

所以它正在寻找一个测试,但随后提示它没有找到一个测试?我错过了什么?

更新 -

在尝试更改测试选择以测试程序集时,系统会提示我此错误消息。

【问题讨论】:

  • 您是否仔细检查了测试任务的设置?我的意思是,您正在测试哪些程序集,在哪个文件夹中进行搜索等。实际上,也许您可​​以与我们分享这些设置,以便我们可以更好地为您提供帮助。
  • 感谢@QuentinS。我不想立即分享所有内容,以避免信息过载。你会从什么设置开始?
  • 当然。我想检查您的测试选择设置,尤其是您在“使用选择测试”字段中选择的设置。然后,查看您在以下字段中输入的内容。
  • 上面写着##[warning]No test sources found。这意味着它无法发现测试。您的测试程序集真的只是命名为“Tests.dll”吗?您是否为您的测试框架安装了合适的测试适配器?
  • @QuentinS.,请查看我对问题的编辑。我添加了一个屏幕截图。如果还有什么我可以补充的,请告诉我。

标签: c# unit-testing tfs automated-tests


【解决方案1】:

您正在测试您的测试程序集 - 这里是 Tests.dll。

尝试在测试选择字段中选择Test Assemblies

然后,您可以将您的程序集直接添加到测试程序集列表中。或者您可以使用以下相对路径(不包括 obj 文件夹):

**\Tests.dll 
!**\obj\**

看看here,了解您可以选择的不同测试方法(测试组装/测试计划/测试运行)

此外,请确保您的代理计算机上安装了 Visual Studio。否则看this

【讨论】:

  • 感谢您的回答,但我已经尝试更改这些属性。当我更改它时,我在尝试运行测试时遇到错误,提示“您选择的环境中的 Visual Studio 测试任务版本不正确,或者设置不正确”。在我的帖子中查看带有屏幕截图的编辑。
  • 您是否选择了正确的测试平台?我建议您使用与您使用的相同的 VS 版本(如果不是 2017,请不要选择最新版本)。
  • 是的,都是 2017 年。也尝试将其更改为其他选项,但没有成功。
  • 好吧,那我不知道,我一定是遗漏了一些关于你的构建过程的信息。
  • 是的,我想我错过了一些明显的错误,因为这是我的第一次尝试。感谢您尝试提供帮助,感谢您的努力。
【解决方案2】:

问题出在测试用例中。当我将单元测试与测试用例相关联时,单元测试位于测试程序集中,因此它试图解析 Test.dll。

在测试用例中,右侧有一个“关联自动化”选项卡:

【讨论】:

  • 你是怎么解决这个问题的?
  • @KaiHartmann 你在看测试用例中的 Associated Automation 选项卡吗?
  • 是的,它也显示了我的测试程序集。你做了什么改变让它工作?
猜你喜欢
  • 1970-01-01
  • 2018-03-11
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
相关资源
最近更新 更多