All Projects → appsquickly → frankencover.it

appsquickly / frankencover.it

Licence: Apache-2.0 License
Code coverage for iOS and OSX.

Projects that are alternatives of or similar to frankencover.it

Bashcov
Code coverage tool for Bash
Stars: ✭ 113 (+10.78%)
Mutual labels:  coverage, coverage-report, code-coverage
mutant-swarm
Mutation testing framework and code coverage for Hive SQL
Stars: ✭ 20 (-80.39%)
Mutual labels:  coverage, coverage-report, code-coverage
ruby-codacy-coverage
DEPRECATED Post coverage results to Codacy
Stars: ✭ 12 (-88.24%)
Mutual labels:  coverage, code-coverage
jacoco-badge-generator
Coverage badges, and pull request coverage checks, from JaCoCo reports in GitHub Actions
Stars: ✭ 53 (-48.04%)
Mutual labels:  coverage, coverage-report
enterprise
Code coverage done right.® On-premise enterprise version.
Stars: ✭ 63 (-38.24%)
Mutual labels:  coverage, coverage-report
grcov
📈 GitHub Action for code coverage reporting with grcov
Stars: ✭ 96 (-5.88%)
Mutual labels:  coverage, code-coverage
octocov
octocov is a toolkit for collecting code metrics (code coverage, code to test ratio and test execution time).
Stars: ✭ 191 (+87.25%)
Mutual labels:  coverage-report, code-coverage
javadoc-coverage
A Doclet to generate JavaDoc coverage reports ☕️🧪📗
Stars: ✭ 23 (-77.45%)
Mutual labels:  coverage, coverage-report
Coverlet
Cross platform code coverage for .NET
Stars: ✭ 2,303 (+2157.84%)
Mutual labels:  coverage, code-coverage
behat-code-coverage
Generate Code Coverage reports for Behat tests
Stars: ✭ 48 (-52.94%)
Mutual labels:  coverage-report, code-coverage
unitest
🌎 Seamless node and browser unit testing with code coverage
Stars: ✭ 28 (-72.55%)
Mutual labels:  coverage, coverage-report
goverreport
Command line tool for coverage reporting and validation
Stars: ✭ 44 (-56.86%)
Mutual labels:  coverage, coverage-report
Cmake Scripts
A selection of useful scripts for use in CMake projects, include code coverage, sanitizers, and dependency graph generation.
Stars: ✭ 202 (+98.04%)
Mutual labels:  coverage, code-coverage
code-coverage-action
GitHub Action that generates code coverage reports
Stars: ✭ 28 (-72.55%)
Mutual labels:  coverage, code-coverage
Minicover
Cross platform code coverage tool for .NET Core
Stars: ✭ 193 (+89.22%)
Mutual labels:  coverage, code-coverage
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (-52.94%)
Mutual labels:  coverage, coverage-report
LocalCoverage.jl
Trivial functions for working with coverage for packages locally.
Stars: ✭ 55 (-46.08%)
Mutual labels:  coverage, coverage-report
Single cov
Actionable code coverage.
Stars: ✭ 154 (+50.98%)
Mutual labels:  coverage, code-coverage
Codecov Python
Python report uploader for Codecov
Stars: ✭ 162 (+58.82%)
Mutual labels:  coverage, coverage-report
tarpaulin
📈 GitHub Action for code coverage reporting with tarpaulin
Stars: ✭ 69 (-32.35%)
Mutual labels:  coverage, code-coverage

frankencover.it

Producing a test coverage report for iOS and OSX projects requires a mish-mash of tools and steps. Here we've glued them all together into something that (hopefully) just works.

  • Generates a report with minimal steps.
  • Outputs to the terminal as well as produces a detailed report in build-server friendly HTML format.
  • Includes a coverage checker. This can be used in CI builds to check minimum test coverage - failing the build if coverage falls below the required amount.
  • Free for both commercial and open-source projects.

Installing

The script itself can be run remotely, but we'll first need to install dependencies . .

With HomeBrew

brew install groovy
brew install lcov

With MacPorts

sudo port install groovy
sudo port install lcov

Important : Fixing 'Coverage Data Not Found' error

NB: Current version of Xcode requires bleeding edge lcov (lcov --version), not provided by MacPorts (need to confirm HomeBrew). To install:

git clone https://github.com/linux-test-project/lcov.git
cd lcov
sudo make install

Usage

Set your main App target to produce test coverage output (debug mode only).

Enable Coverage

Set your main App target to instrument program flow (debug mode only).

Enable Instrumentation

IDE Use

Run tests in your IDE (AppCode or Xcode) and produce a report with:

groovy http://appsquickly.github.io/frankencover.it/with -source-dir MyProject/Source

Build server or cmd-line use

Create a build script as follows

# First Run Tests
xcodebuild test -workspace MyProject.xcworkspace/ -scheme 'MyProject' -configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 5s,OS=8.1' | xcpretty -c --report junit
#Above we are piping the build output through xcpretty, which is not required, but very nice. 
#(gem install xcpretty)

# Now Produce Test Coverage Report
groovy http://appsquickly.github.io/frankencover.it/with -source-dir MyProject/Source -required-coverage 85
#Above we set required coverage to 85%. Build fails if coverage falls below this value. 

. . this ensures using an update to date version.

Output

cmd-line

Output

browser

Report file is at build/reports/coverage/index.html.

Browser

Cobertura Format

If you'd like to publish in Cobertura format (commonly supported by build servers) we recommend this Python script.

Place the script somewhere on visible to your build server or whatever needs cobertura format, and then execute as follows:

python ~/lcov_cobertura.py build/reports/coverage/data/coverage.info

Install locally

If you don't want to run the hosted script, it can be installed locally with:

curl -SSL http://appsquickly.github.io/frankencover.it/with > FrankenCover && chmod +x ./FrankenCover

Swift Code Coverage

At the present time Swift Code coverage because the compiler currently ignores instructions to instrument the codebase. Please vote for this OpenRadar issue.

Like this project?

frankencover.it is a non-profit, community driven project. We only ask that if you've found it useful to star us on Github or send a tweet mentioning us (@appsquickly). frankencover.it is sponsored and lead by appsquick.ly, with contributions from around the world.

A big thank you to the following contributors:

  • Alex Argo : Feedback & fixes for directories with unusual characters
  • Hybrid Cat : Exclusions, html report configs.

Contributing

For now, the script, along with documentation is located on the gh-pages branch.

LICENSE

Apache License, Version 2.0, January 2004, http://www.apache.org/licenses/

  • © 2014 Jasper Blues
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].