xunit-to-nunit

0.4.0 • Public • Published

xunit-to-nunit

npm version circleci status Build Status Dependencies

NPM

Converts C# XUnit tests to NUnit tests.

Disclaimer: Far from perfect - something I used as a quick hack to convert loads of large tests

Links

📦 Installation

npm install xunit-to-nunit

Usage

Require

var x2n = require('xunit-to-nunit')

Convert test from string

var nunitTest = x2n.convertCode(xunitTest)

Convert test from file

x2n.convertFile('xunit-source-path.cs', 'nunit-destination-path.cs')

Convert tests from directory

x2n.convertFiles('xunit/source/directory', 'nunit/destination/directory')

This function calls convertFile for all files in the source directory.

Options

convertFiles has a third (optional) parameter: options. This should be a dictionary value, containing all or any of the following parameters:

🔧 recursive (default: false)

Set to true, this parameter will convert tests in all subdirectories including those at the source root. Directory structure is maintained at the conversion destination.

🔧 verbose (default: true)

When true, the module logs an info message to the terminal when a file is converted. When a file conversion fails, a error log message is displayed regardless of the value of verbose.

For example,

var options = {
  recursive: true,
  verbose: false
}
 
x2n.convertFiles('xunit/source/directory', 'nunit/destination/directory', options)

Writing converted tests to source directory

When source = destination, '_NUnit' is appended to the filename. For example, where destination = dir, dir/SomeTests.cs is converted and the result is written to dir/SomeTests_NUnit.cs.

This behaviour can be changed with the following parameters:

🔧 append (default: '_NUnit')

String to be appended to filenames when writing destination files to the source directory.

🔧 overwrite (default: false)

If overwrite = true, append is ignored, and source files are overwritten at destination.

For example,

// Append destination filenames with `append` text
var options = {
  append: '_Test',
  overwrite: false // `overwrite` is false by default
}
 
// or, overwrite source files
var options = {
  overwrite: true
}
 
x2n.convertFiles('xunit/source/directory', 'nunit/destination/directory', options)
 

Contributing

Feel free to add things / suggest things to be added by either opening an issue or by submitting a pull request.

References

Package Sidebar

Install

npm i xunit-to-nunit

Weekly Downloads

1

Version

0.4.0

License

MIT

Last publish

Collaborators

  • jmsv