2.6 KiB
Cover
This library is a supplement to rackets raco test
that adds code coverage capabilities.
How to install
install via raco pkg install cover
. To install for development, checkout the repo into a folder named cover
and in the parent directory run raco pkg install cover/
.
How to use
To view the arguments for Cover run raco cover -h
.
Code coverage can be generated by specifying the -c <format>
flag.
Right now the valid formats are: html
and coveralls
.
html
simply generates html files for each source file containing coverage information and
highlighted source code.
coveralls
generates a coveralls coverage report and sends it to coveralls.
Using coveralls requires the "COVERALLS_REPO_TOKEN" to be set, and needs bash and curl.
Travic-ci/Coveralls support coming soon...
Note that coveralls expect coverage by line. To convert from an expression based coverage to line based coverage we consider any line with any unrun expression to be not run.
The directory that the coverage is outputted to can be specified with the -d
flag.
If any tests run by rackunit
fail, Cover will return with exit code 1
. If all tests pass it will return with exit code 0
.
Use with TravisCI
If your code is hosted on a public github repo then you can use this plugin in conjunction with TravisCI and Coveralls.
Just enable your repository on both services and then add a .travis.yml
file to your repo with the following contents:
langauge: c
env:
- RACKET_VERSION=6.1.1
before_install:
- git clone https://github.com/greghendershott/travis-racket.git ../travis-racket
- cat ../travis-racket/install-racket.sh | bash
script:
- /usr/racket/bin/raco pkg install --deps search-auto $TRAVIS_BUILD_DIR # install dependencies
- /usr/racket/bin/raco test $TRAVIS_BUILD_DIR # run tests. you wrote tests, right?
- /usr/racket/bin/raco cover -c coveralls -d $TRAVIS_BUILD_DIR/coverage . # generate coverage information
The above Travis configuration will install any project dependencies, test your project, and report coverage information to coveralls.
For a contrived example project, look at an example. For additional Travis configuration information look at Travis Racket.
Note: This currently only works for public Github repos. This project does not support coveralls.yml
configurations for private repos.
Internals
Cover also comes with a racket API for running tests and generating coverage reports. Documentation coming soon...