发现测试在xUnit中运行两次

时间:2015-12-23 10:09:49

标签: unit-testing xunit.net xunit2

我有我的解决方案设置,其中在该解决方案中配置了一个xUnit测试项目/程序集,其中包含xUnit桌面运行程序。

当我在Test Explorer窗口中运行“Run All”运行此解决方案的测试时,我看到以下输出:

------ Discover test started ------
[xUnit.net 00:00:00.6641444]   Discovering: Namespace.Testing
[xUnit.net 00:00:01.7346388]   Discovered:  Namespace.Testing
========== Discover test finished: 255 found (0:00:02.2705091) ==========
------ Run test started ------
[xUnit.net 00:00:00.7718801]   Discovering: Namespace.Testing
[xUnit.net 00:00:01.9540699]   Discovered:  Namespace.Testing
[xUnit.net 00:00:02.6006763]   Starting:    Namespace.Testing
[xUnit.net 00:00:13.1270643]   Finished:    Namespace.Testing
========== Run test finished: 255 run (0:00:17.5635971) ==========

似乎正在执行“发现测试”步骤和“运行测试”步骤,其中正在为每个步骤执行“发现”和“已发现”步骤,使其看起来运行两次。

我很好奇,如果这是由设计运行,或者我在某处导致此行为的错误设置。在我看来(或者预期)“发现/发现”每次运行只会发生一次。正如您所看到的,它为每次运行增加了2秒钟,如果可能的话我想避免这种情况。

1 个答案:

答案 0 :(得分:1)

首先,“发现”来自试图发现测试的“测试资源管理器”。

第二个来自“XUnit Visual Studio Runner”。

在例如运行测试时TFS服务器,它只运行一次“发现”。