使用带有 TestCase 属性的 nunit3-console.exe 进行参数化测试

Parameterized test using nunit3-console.exe with TestCase attribute

我正在尝试 运行 使用 TestCase 属性对 nunit3 进行参数化测试。

我的测试方法如下所示:

[Test]
        [TestCase("testuser")]
        public void OBA_Test(String name)
        {
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10000));
            driver.Navigate().GoToUrl(baseURL + somewebsite)
            // Code to test website. 
        }

然后我获取 dll 并尝试 运行 使用

nunit3-console.exe "C:\temp\test\Selenium Testing Prod.dll" /run:"SeleniumTests.SeleniunProdTest.OBA_Test(\"testuser\")"

我在这里做错了什么?任何指针?

参考:nunit-console does not run tests parameterized with TestCase attribute

该消息告诉您,您正在使用的 NUnit 版本无法识别 /run 选项。 NUnit V2 的 /run 被 NUnit 3 中增强的 /test 选项取代。

我使用的是缺少某些功能的 nunit 版本 2。我更新到版本 3 并遵循了这篇文章: http://executeautomation.com/blog/passing-parameters-to-nunit-test-via-cli-using-params/

基本上在我的 [Setup] 中,我将命令行输入收集为:

name = TestContext.Parameters.Get("empname");

并在我的 [测试] 中使用了它,并在命令行中使用了 --params 如下:

nunit3-console.exe --params:empname=testemp "C:\temp\Debug_PROD\Selenium Testing Prod.dll"