Nunit将每个测试运行两次

本文关键字:两次 测试运行 Nunit | 更新日期: 2023-09-27 18:10:44

我在通过NUnit运行测试时遇到问题。我不知道为什么,但每个测试运行两次。关键是,在另一台笔记本电脑上,它通常只运行一次。

有没有人有同样的问题,知道如何处理?

Nunit将每个测试运行两次

我也遇到了同样的问题。在我的例子中,我安装了Visual Studio扩展和NUnit Test Runner的NuGet包。似乎它们都在执行测试,导致测试被运行两次。

卸载Visual Studio扩展解决了这个问题。

我有一个类似的问题,在Visual Studio NUnit3运行器中运行测试,测试将只运行一次,但当在命令行中运行NUnit3- command .exe时,测试将运行两次。我花了太长时间追查这件事。我注意到命令行运行器报告运行了2个测试,并得出结论,这是dll中的问题。这可能听起来很疯狂,但我将所有的测试代码复制到一个新类中,删除旧的,编译和测试现在在两个场景中只运行一次。

在我的例子中,它有一个基类和一个派生类,它们都有TestFixture属性。派生类中的所有测试都将运行两次。

只是供其他人参考-我在Visual Studio Professional 2022中安装Fine Code Coverage扩展后遇到了同样的问题,卸载它有所帮助。我使用specflow + xunit

当您多次加载测试容器(.dll)时,通常会出现这个问题。

如果您从包含bin和obj文件夹的根文件夹加载测试容器,就会发生这种情况,这是Visual Studio项目的典型设置。

尝试限制从bin文件夹加载测试容器

当连续的测试意外地具有相同的测试参数时,测试的运行也可以重复。

 [Test, Sequential]
            public void Integr_MController_DeleteGet_ReturnsViewAndModel(
 [Values("Do@london.com", "Do@london.com")] string firstEmail,

 [Values("Zyg@london.com", "Zyg@london.com")] HTTPstring updatedEmail) {test code}

将运行相同的测试两次,并将在TestExplorer中显示为相同的测试

如果您将*.dll放置两次,测试将被两次执行。

出现在NUnit.3.10.1, nunit3-console 3.9.0

的例子:

nunit3-console myTestDll.dll --test=MyNameSpace.Test myTestDll.dll** --result=myResult.xml