Add test-code-coverage command#165
Add test-code-coverage command#165mydea wants to merge 1 commit intoember-cli-code-coverage:masterfrom
Conversation
|
Something like this would be very nice, gitlab can parse tests output and make a good use of coverage data out of the box, but it must be provided by the tests command. |
|
@kategengler @adamjmcgrath what do you guys think about this feature? |
| return this._inRepoAddons; | ||
| }, | ||
|
|
||
| includedCommands: function() { |
There was a problem hiding this comment.
I think this may need to be rebased; there's already an includedCommands hook
|
@kategengler aside from the need for a rebase, are you in favor of this feature in general? |
|
|
||
| includedCommands: function() { | ||
| return { | ||
| 'test-code-coverage': require('./lib/commands/test-code-coverage') |
There was a problem hiding this comment.
I prefer we name it code-coverage:test or code-coverage-test
| beforeRun() { | ||
| this._super.apply(this, arguments); | ||
|
|
||
| // try to read global options from `config/coverage.js` |
There was a problem hiding this comment.
Use the util at lib/config.js to get the configuration and and the project's configPath for the location of the config (see https://github.com/kategengler/ember-cli-code-coverage/blob/master/index.js#L142)
|
I am uncertain whether this is something we should be doing ourselves, or deferring to |
|
If you decide to go forward with this, I'll gladly make the changes as requested. :) |
|
@kategengler I also think we may want to defer this to nyc. @adamjmcgrath what do you think? |
|
My preference would be nyc support and improving that tool, but I can't offer any help with that at the moment, so don't mind if you want to proceed with this solution. |
|
I agree. I think we should perhaps close, in favor of nyc. |
This PR adds a command
ember test-code-coverage. This can be used e.g. in CI environments.The command can also be used to simply print out the total coverage percentages, e.g. so you don't need to go looking into HTML files for them.
It takes the following parameters:
For example:
ember test-code-coverage -target-lines=80 -target-branches=85You can also configure those in the
config/coverage.jsfile, in their camel cased form, like this:These values will then be the defaults when running
ember test-code-coverage.Running the command will output something like this to your console:
For any type of check where no target is specified, it will simply output the actual value without doing any comparison.