Nunit3 OneTimeSetUp和OneTimeTeardown无法正常工作

时间:2018-05-13 02:15:29

标签: c# selenium nunit nunit-3.0

OneTimeSetUp和OneTimeTearDownStopped工作

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 \ 15.0_d20cab45 \ Extensions中删除了resharper 此外,我现在更多在控制面板中。

但我仍然有这个问题。我有一个以前的项目工作正常。以下是我从nuget包下载的软件包。 更确切地说,请找到我想要完成的项目

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

enter image description here

1 个答案:

答案 0 :(得分:1)

TestFixture没有任何问题(例如,这里是similar question),因此测试运行的方式一定是个问题,所以让我提供另一种方法来运行测试...

  1. 获取NUnit.Console NuGet包(这包括另一个名为NUnit.ConsoleRunner的包,稍后会提到)。
  2. 选择包含您要运行的单元测试的项目。
  3. 转到该项目的项目属性。
  4. 转到“应用程序”标签。
  5. 选择程序集名称并将其复制到剪贴板。
  6. 转到“调试”标签。
  7. 在“开始选项”/“命令行参数:”中粘贴程序集名称并在末尾添加“.dll --debug --inprocess”。
  8. 将“工作目录”更改为构建该DLL的文件夹。
  9. 将“Start Action”设置为“Start external program”,并提供NUnit控制台的位置(例如 “完整路径 \ NUnit.ConsoleRunner。版本 \ tools \ nunit3-console.exe”)。
  10. 在“解决方案资源管理器”中,右键单击项目并选择“设置为启动项目”。
  11. 然后从Visual Studio“启动”解决方案
  12. 希望这有帮助。