This repository has been archived by the owner on May 29, 2019. It is now read-only.
Support outputting HTML code coverage from PhantomJS #127
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I came up with a way to generate HTML code coverage reports from a coverage object in PhantomJS. I'll admit it feels like a hack, but it works so I thought I'd present it for feedback and consideration since I know it's been a long time ask (#44).
Background: We write CoffeeScript and use
grunt-mocha
to run our client tests. We use coffee-coverage to generate JSCoverage style instrumentation which Mocha can use to produce really nice HTML coverage reports.Problem: The global coverage object is in PhantomJS and not available until Mocha's run has ended.
Solution:
mocha.end
event to actually end the process which will emit to the reporter which can now write it's HTML filePotential Issues:
I know this reintroduces hijacking
process.stdout
which could cause backwards compatibility issues, but, HTMLCov, like XUnit, now uses itI did my best to provide tests. Happy to add more. Would appreciate any feedback!