Following along with Kent Beck's Test-Driven Development: By Example.
npm install --save-dev https://github.com/seanpoulter/tsunit
tsunit [directory]
# or on Windows .\node_modules\.bin\tsunit
Invoke the test methodInvoke setUp firstInvoke tearDown afterwardInvoke tearDown even if the test method failsRun multiple testsReport collected resultsLog string in WasRunReport failed testsCatch and report setUp errorsCreate TestSuite from a TestCase classImplement the Test interfaceTest assert methods- Report the name of the TestSuite
Report which tests failedReport which tests had errorsDifferentiate between test failures and errorsReport the stack trace of failing tests- Improve the formatting of the stack trace
- Report the total test run duration
- Report the test suite run duration
- Report the test case run duration
Create a test runner (e.g.: node app [directory])- Accept a file to exclude to the app
- Accept a file as an argument to the app
- Accept a glob as an argument to the app
- Accept a list of directory, file, or globs
- Accept an array of files or directories
Import TestCases from a module pathResolve a module path relative to the working directory of the Node processRun discovered TestCases from a moduleRun all dicovered TestCases from a directoryAdd a decorator to ignore TestCases being added to suites- Display command-line usage when run with --help or incorrect arguments
- Add command line option to bail after first error, --failFast
- Add command line option to list available reporters
- Add command line option to specify reporter(s), -r/--reporter name
- Add command line option to specify the concurrency, --concurrency
- Run tests in parallel
- Run tests in random order
- Use asynchronous methods to discover tests
- Add a JUnit XML format which is the defacto standard for CI integration
References: - Add a clone of the ava mini-reporter
- Add a clone of the ava "[magic assert]"(https://github.com/avajs/ava#magic-assert)
- Remove unrelated lines from the stack traces
- Use nyc for code coverage reporting
- Clone the behaviour of Wallaby.js, run tests starting from a filepath:lineNumber
- Identify the existing tests
- Order the tests based on their ability to update adjacent tests or code coverage to the focused line
- Run the tests
- (Somehow notify a browser)