# <nunit2>

[This is preliminary documentation and subject to change.]

Runs tests using the NUnit V2.2 framework.

The `haltonfailure` attribute is only useful when more than one test suite is used, and you want to continue running other test suites although a test failed.

Set `failonerror` to false to ignore any errors and continue the build.

In order to run a test assembly built with NUnit 2.0 or 2.1 using <nunit2> task, you must add the following node to your test config file :

    <configuration>
        ...
        <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
                <dependentAssembly>
                    <assemblyIdentity name="nunit.framework" publicKeyToken="96d09a1eb7f44a77" culture="Neutral" />
                    <bindingRedirect oldVersion="2.0.6.0" newVersion="2.2.8.0" />
                    <bindingRedirect oldVersion="2.1.4.0" newVersion="2.2.8.0" />
                </dependentAssembly>
            </assemblyBinding>
        </runtime>
        ...
    </configuration>

See the NUnit home page for more information.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
haltonfailure | bool | Stop the test run if a test fails. The default is false. | False
failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False
if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False
unless | bool | Opposite of `if`. If false then the task will be executed; otherwise, skipped. The default is false. | False
verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False

### Nested Elements:

#### <test>

Tests to run.

Represents a `test` element of an <nunit2> task.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
appconfig | file | The application configuration file to use for the NUnit test domain. If not specified, NAnt will try to use a configuration name matching the file name of the assembly with extension ".config". | False
assemblyname | file | Name of the assembly to search for tests. | False
haltonfailure | bool | Build fails on failure. The default is true. | False
testname | string | Name of a specific testfixture to run. If not specified then all testfixtures are run. | False
transformfile | file | XSLT transform file to use when using the `Plain` formatter. | False

### Nested Elements:

#### <assemblies>

Assemblies to include in test.

#### </assemblies>

#### <references>

Assemblies to scan for missing assembly references.

#### </references>

#### <categories>

Categories of test cases to include or exclude.

#### </categories>

#### </test>

#### <formatter>

Formatters to output results of unit tests.

Represents the FormatterElement of the NUnit task.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
type | FormatterType | Type of formatter. | True
extension | string | Extension to append to the output filename. | False
outputdir | directory | Specifies the directory where the output file should be written to, if `usefile` is true. If not specified, the output file will be written to the directory where the test module is located. | False
usefile | bool | Determines whether output should be persisted to a file. The default is false. | False

#### </formatter>

### Examples

- Run tests in the `MyProject.Tests.dll` assembly.

      <nunit2>
          <formatter type="Plain" />
          <test assemblyname="MyProject.Tests.dll" appconfig="MyProject.Tests.dll.config" />
      </nunit2>

- Only run tests that are not known to fail in files listed in the `tests.txt` file.

      <nunit2>
          <formatter type="Xml" usefile="true" extension=".xml" outputdir="${build.dir}/results" />
          <test>
              <assemblies>
                  <includesfile name="tests.txt" />
              </assemblies>
              <categories>
                  <exclude name="NotWorking" />
              </categories>
              <references basedir="build">
                  <include name="Cegeka.Income.Services.dll" />
                  <include name="Cegeka.Util.dll" />
              </references>
          </test>
      </nunit2>

### Requirements

Assembly: NAnt.NUnit2Tasks (0.91.3881.0)