Nunit runs each test twice

徘徊边缘 提交于 2019-12-23 09:15:26

问题


I encounter a problem running my tests via NUnit. I dont know why but each test runs twice. The point is that on another laptop it normally runs only one time.

Have anyone the same problem and know how to deal with it?


回答1:


I had the same problem. In my case, I had both the Visual Studio extension and the NuGet package of the NUnit Test Runner installed. It seems they were both executing the tests, resulting in tests being run twice.

Uninstalling the Visual Studio extension solved the issue.




回答2:


I had a similar problem where running the test with the Visual Studio NUnit3 runner, the test would run only once but when running in the command line with NUnit3-Command.exe, the test would run twice. I spent way too long chasing this down. I noticed that the command line runner was reporting 2 tests were run and came to the conclusion it was an issue in the dll. This may sound crazy but I copied all my test code into a new class, deleted the old, compiled and the test now runs just once in both scenarios.




回答3:


In my case, it was having a base class and a derived class both having the TestFixture Attribute. All tests from the derived class would run twice.

Fixed it by only putting attribute on base class.




回答4:


The problem typically arises when you load a test container (.dll) multiple times.

This can happen if you load the test containers from a root floder that has both bin and obj folders inside, which is a typical setup of Visual Studio projects.

Try to limit your test container loading from the bin folders.




回答5:


The running of test can also be duplicated is when sequential tests accidentally have the same test parameters.

 [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}

Will run the same test twice and will show up in TestExplorer as the same test.




回答6:


In case you put the *.dll twice, the test get double executed.

Seen on NUnit.3.10.1, nunit3-console 3.9.0

Example:

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



来源:https://stackoverflow.com/questions/32347281/nunit-runs-each-test-twice

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!