← Back to team overview

nunit-core team mailing list archive

[Bug 712444] Re: nunit-console /run don't execute parameterized test-cases (with commas in test-case name)

 

I am having 1 more issue:

Sub:run specific Tests through coding

I am using Selenium with C# fro Automation, and i want to invoke the
Nunit through coding, i did it using below code.

CoreExtensions.Host.InitializeService();
   TestPackage testPackage = new TestPackage(@"D:\Automation\bin\Debug\Test.dll");
   RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
   remoteTestRunner.Load(testPackage);
   //TestFilter filter = new NameFilter(new TestName() { Name = "Test1" });
   TestResult testResult = remoteTestRunner.Run(new NullListener(), TestFilter.Empty,     false, LoggingThreshold.Off); 

and i am able to run tests using category filter as below

remoteTestRunner.Run(new
NullListener(),newCategoryFilter("MyCat"),false,LoggingThreshold.Off);

But i want to execute selected tests i.e how to set suite filter, i have
tried this but faild.

TestFilter filter=new NameFilter(new TestName() { Name = "Test1" }); 
TestResult testResult=remoteTestRunner.Run(new NullListener(),   filter,false,LoggingThreshold.Off)`;

Please tell 
1. how to run specific tests and 
2.how to pass arguments through coding.

Thanks,
kishore.

-- 
You received this bug notification because you are a member of NUnit
Developers, which is subscribed to NUnit V2.
https://bugs.launchpad.net/bugs/712444

Title:
  nunit-console /run don't execute parameterized test-cases (with commas
  in test-case name)

Status in NUnit V2 Test Framework:
  Fix Released
Status in NUnit V2 2.5 series:
  Fix Released
Status in NUnit V2 trunk series:
  Fix Released

Bug description:
  To reproduce:
  1. Create test-fixture or test-case with 2 string-type parameters
  2. Try to run any test-case from such test-fixture 
  3. or try to run test-case (with 2 parameters of string type)

  This issue is caused by: https://code.launchpad.net/~u-launchpad-
  brianlow-com/nunitv2/MultiTestNames

  Name of parametrized test-case is:
  e.g.: Oberon.ATSelenium.TestApps.ATGTests.Lib.CheckoutSanity("iplay","Firefox").FP_AMEX("Guest")
  and it contains comma in test name

  command-line to run this test:
  nunit-console-x86.exe Oberon.ATSelenium.TestApps.ATGTests.Lib.dll /run=Oberon.ATSelenium.TestApps.ATGTests.Lib.CheckoutSanity(\"iplay\",\"Firefox\").FP_AMEX(\"Guest\")

  On same time comma is used to split different test-cases from each other in command.
  Comma in test-case name is treated as delimiter between test-cases, and as a result test-case is not executed.

  Reproducible on versions 2.5.6-2.5.9 (not reproducible on version
  lower then 2.5.6)

  To fix:
   use semicolon ( ; ) as delimiter between test-cases for command line /run
  File: NUnit-2.5.9.10348\src\NUnitCore\interfaces\Filters\SimpleNameFilter.cs: 39

  I have fixed that locally, updating from
  foreach (string name in namesToAdd.Split(',')) 
  to 
  foreach (string name in namesToAdd.Split(';'))

  And running it like:
  nunit-console-x86.exe Oberon.ATSelenium.TestApps.ATGTests.Lib.dll /run=Oberon.ATSelenium.TestApps.ATGTests.Lib.CheckoutSanity(\"iplay\",\"Firefox\").FP_AMEX(\"Guest\");Oberon.ATSelenium.TestApps.ATGTests.Lib.CheckoutSanity(\"iplay\",\"Firefox\").FP_VISA(\"Guest\")

  - is executing 2 test-cases (which is exactly what I tried to do :) )

To manage notifications about this bug go to:
https://bugs.launchpad.net/nunitv2/+bug/712444/+subscriptions


Follow ups

References