Nunit3 OneTimeSetUp 和 OneTimeTeardown 不工作

Nunit3 OneTimeSetUp and OneTimeTeardown not working

OneTimeSetUp 和 OneTimeTearDown 停止工作

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{

    class Class1
    {
        [SetUp]
        public void setup()
        {
            Console.WriteLine("setup method");
        }
        [TearDown]
        public void teardown()
        {
            Console.WriteLine("teardown");
        }
        [OneTimeSetUp]
        public void onetimesetup()
        {
            Console.WriteLine("onetimesetup method");
        }
        [OneTimeTearDown]
        public void onetimeteardown()
        {
            Console.WriteLine("onetimeteardown method");
        }
        [Test]
        public void testCase()
        {
            Console.WriteLine("Testcase method 2");
        }

    }
}

我之前安装了Resharper,现在我已经完成了resharper。 我已经从 C:\Users\vkris\AppData\Local\Microsoft\VisualStudio.0_d20cab45\Extensions 删除了 resharper 此外,我现在更多地在控制面板中拥有它。

但我仍然遇到这个问题。我有一个以前的项目运行良好。这是我从 nuget 包下载的包。 更准确地说,请找到我正在尝试完成的项目

https://github.com/vkrishna92/AutomationProjects/blob/master/SeleniumAutomationDemoQA/SeleniumAutomationDemoQA/Utitlities/OneTimeClass.cs

TestFixture 没有问题(例如,这里有一个similar question),所以一定是测试的方式有问题运行,所以让我提供一个替代方法为您 运行 测试...

  1. 获取 NUnit.Console NuGet 包(这包括另一个名为 NUnit.ConsoleRunner 的包,稍后会提到)。
  2. 选择包含您想要的单元测试的项目运行。
  3. 转到该项目的项目属性。
  4. 转到 "Application" 选项卡。
  5. Select程序集名称并将其复制到剪贴板。
  6. 转到 "Debug" 选项卡。
  7. 在 "Start Options"/"Command line arguments:" 中粘贴程序集名称并在末尾添加“.dll --debug --inprocess”。
  8. 将 "Working directory" 更改为生成该 DLL 的文件夹。
  9. 将"Start Action"设置为"Start external program",并给出NUnit控制台的位置(例如 "完整路径\NUnit.ConsoleRunner.版本\tools\nunit3-console.exe").
  10. 在 "Solution Explorer" 中,右键单击项目并选择 "Set as StartUp Project"。
  11. 然后 "Start" 来自 Visual Studio
  12. 的解决方案

希望对您有所帮助。