https://github.com/catdad/mocha-duplicate-reporter
Finds mocha tests that use the exact same full name
https://github.com/catdad/mocha-duplicate-reporter
Last synced: about 2 months ago
JSON representation
Finds mocha tests that use the exact same full name
- Host: GitHub
- URL: https://github.com/catdad/mocha-duplicate-reporter
- Owner: catdad
- Created: 2016-01-22T21:43:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-01-25T14:08:46.000Z (over 9 years ago)
- Last Synced: 2024-04-25T11:01:58.309Z (about 1 year ago)
- Language: JavaScript
- Size: 11.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mocha Duplicate Reporter
[](https://travis-ci.org/catdad/mocha-duplicate-reporter)
[](https://codeclimate.com/github/catdad/mocha-duplicate-reporter)
[![Downloads][7]][8] [![Version][9]][8][7]: https://img.shields.io/npm/dm/mocha-duplicate-reporter.svg
[8]: https://www.npmjs.com/package/mocha-duplicate-reporter
[9]: https://img.shields.io/npm/v/mocha-duplicate-reporter.svgMocha seems perfectly content to let you create multiple tests that share the same name, but some CIs (_caugh_ Teamcity _caugh_) are not so happy. They will just refuse to acknowledge the duplicates, and you are stuck wondering why your CI reports 7 test less than you are seeing locally. Once you build up a large enough test suite, it's pretty hard to figure out what the offending tests are. Well, no more! Use this quick reporter and see who those pesky bastards are.
## Install
npm install --save-dev mocha-duplicate-reporter
## Usagemocha --reporter mocha-duplicate-reporter
## Output```
Regex report: 9-8-0-1-49 total tests:
8 passed
0 failed
1 pending
4 duplicate namesDuplicate test names:
[Example] is obviously written in a loop
[Example] tests the same thing over and over
[Example] performs a vague action
[Example] forks forks forks
```Run `npm test` on the repo to see the original test file that produces this output.
## Just in case you want to automate this
To hint to those devs who wrote the poorly named tests, I suggest you make the build fail, so here is a free regular expression for you:
```javascript
var regex = /Regex report\:\s?([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)/;
var match = output.match(regex);if (match) {
var total = match[1];
var pass = match[2];
var fail = match[3];
var pending = match[4];
var dups = match[5];
if (+dups) {
console.log('fail with %d duplicates', +dups);
}
}
```