Running tests on a Mac OS X console using mono / nunit-console / 4

I have installed Max OS X 10.11.1 with Xamarin. I wrote a simple test class, just to test Nunit tests on Mac OS X and Ubuntu, the class has literally one method that returns a string:

using System; namespace testing_project { public class EmptyClass { public EmptyClass () { } static void Main(string[] args) { } public string helloWorld() { return "Hello World!"; } } } 

And I have a NUnit class to test my EmptyClass:

 using System; using NUnit.Framework; namespace testing_project { [TestFixture] public class EmptyClassTest { [Test] public void testHelloWorld() { EmptyClass empty = new EmptyClass(); Assert.AreEqual ("Hello World!", empty.helloWorld ()); } } } 

When I run this in the Xamarin studio, the test runs very well.

How can I achieve this in the CLI?

+6
source share
1 answer

Mono enables the installation of a NUnit runner / console (version 2.4.8), which is invoked through a shell script called nunit-console :

 cat `which nunit-console` #!/bin/sh exec /Library/Frameworks/Mono.framework/Versions/4.2.1/bin/mono --debug $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/nunit-console.exe " $@ " 

So, to run tests from the CLI, you can either call the NUnit .csproj test, or CIL / Assembly:

 MONO_IOMAP=all nunit-console nunit-lib/nunit-lib.csproj 

or

 nunit-console nunit-lib/bin/Debug/nunit-lib.dll 

NOTE : The NUnit 2.4.x console is corrupted due to a hard-coded directory of Windows-style directory partitions when parsing .csproj files and creating the expected CIL / assembly location, use MONO_IOMAP to work This. This is not a problem in NUnit runner 3.0.

Example:

 nunit-console nunit-lib/bin/Debug/nunit-lib.dll NUnit version 2.4.8 Copyright (C) 2002-2007 Charlie Poole. Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. Copyright (C) 2000-2002 Philip Craig. All Rights Reserved. Runtime Environment - OS Version: Unix 15.0.0.0 CLR Version: 4.0.30319.17020 ( 4.2.1 (explicit/8862921 Thu Oct 29 17:09:16 EDT 2015) ) .F Tests run: 1, Failures: 1, Not run: 0, Time: 0.687 seconds Test Case Failures: 1) nunitlib.Test.TestCase : Expected string length 8 but was 5. Strings differ at index 0. Expected: "Overflow" But was: "Stack" -----------^ 

nunit-console --help

 NUnit version 2.4.8 Copyright (C) 2002-2007 Charlie Poole. Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. Copyright (C) 2000-2002 Philip Craig. All Rights Reserved. Runtime Environment - OS Version: Unix 15.0.0.0 CLR Version: 4.0.30319.17020 ( 4.2.1 (explicit/8862921 Thu Oct 29 17:09:16 EDT 2015) ) NUNIT-CONSOLE [inputfiles] [options] Runs a set of NUnit tests from the console. You may specify one or more assemblies or a single project file of type .nunit. Options: -fixture=STR Test fixture to be loaded (Short format: -load=STR) -run=STR Name of the test to run -config=STR Project configuration to load -xml=STR Name of XML output file -transform=STR Name of transform file -xmlConsole Display XML to the console -output=STR File to receive test output (Short format: -out=STR) -err=STR File to receive test error output -labels Label each test in stdOut -include=STR List of categories to include -exclude=STR List of categories to exclude -domain=X AppDomain Usage for Tests -noshadow Disable shadow copy when running in separate domain -nothread Disable use of a separate thread for tests -wait Wait for input before closing console window -nologo Do not display the logo -nodots Do not display progress -help Display help (Short format: -?) Options that take values may use an equal sign, a colon or a space to separate the option from its value. 
+13
source

All Articles