我在通过NUnit运行测试时遇到问题。我不知道为什么,但每次测试都运行两次。关键是在另一台笔记本电脑上它通常只运行一次。
有任何人遇到同样的问题并知道如何处理它吗?
答案 0 :(得分:7)
我遇到了同样的问题。就我而言,我安装了NUnit Test Runner的Visual Studio extension和NuGet package。看起来他们都在执行测试,导致测试运行两次。
卸载Visual Studio扩展程序解决了这个问题。
答案 1 :(得分:1)
我遇到类似的问题,使用Visual Studio NUnit3运行程序运行测试时,测试只会运行一次,但在使用NUnit3-Command.exe在命令行中运行时,测试会运行两次。我花了太长时间追逐这个。我注意到命令行运行器报告了2个测试运行并得出结论这是dll中的一个问题。这可能听起来很疯狂,但我将所有测试代码复制到一个新类中,删除了旧的,已编译的,现在测试只运行一次。
答案 2 :(得分:1)
在我的例子中,它有一个基类和派生类都有TestFixture属性。派生类的所有测试都会运行两次。
通过仅在基类上放置属性来修复它。
答案 3 :(得分:0)
当您多次加载测试容器(.dll)时,通常会出现此问题。
如果从内部包含bin和obj文件夹的根文件夹加载测试容器,则会发生这种情况,这是Visual Studio项目的典型设置。
尝试从bin文件夹中限制测试容器的加载。
答案 4 :(得分:0)
当顺序测试意外地具有相同的测试参数时,测试的运行也可以重复。
[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中显示为相同的测试。
答案 5 :(得分:0)
如果您将* .dll放置两次,则测试将被重复执行。
在NUnit.3.10.1,nunit3-console 3.9.0上见过
示例:
nunit3-console myTestDll.dll --test=MyNameSpace.Test myTestDll.dll** --result=myResult.xml