RKTracer
RKTracer is a code-coverage and test-analysis tool that enables teams to assess the quality and completeness of their testing across unit, integration, functional, and system-level testing, without altering a single line of application code or build workflow. It supports instrumentation across host machines, simulators, emulators, embedded devices, and servers, and covers a broad array of programming languages, including C, C++, CUDA, C#, Java, Kotlin, JavaScript/TypeScript, Golang, Python, and Swift. It provides detailed coverage metrics such as function, statement, branch/decision, condition, MC/DC, and multi-condition coverage, and even supports delta-coverage reports to show which newly added or modified portions of code are already covered. Integration is seamless; simply prefix your build or test command with “rktracer”, run your tests, then generate HTML or XML reports (for CI/CD systems or dashboards like SonarQube).
Learn more about RKTracer
Coverage.py
Coverage.py is a tool for measuring code coverage of Python programs. It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not. Coverage measurement is typically used to gauge the effectiveness of tests. It can show which parts of your code are being exercised by tests, and which are not. Use coverage run to run your test suite and gather data. However you normally run your test suite, and you can run your test runner under coverage. If your test runner command starts with “python”, just replace the initial “python” with “coverage run”. To limit coverage measurement to code in the current directory, and also find files that weren’t executed at all, add the source argument to your coverage command line. By default, it will measure line (statement) coverage. It can also measure branch coverage. It can tell you what tests ran which lines.
Learn more about Coverage.py
jscoverage
jscoverage tool, both node.js and JavaScript support. Enhance the coverage range. Use mocha to load the jscoverage module, then it works. jscoverage will append coverage info when you select list or spec or tap reporter in mocha. You can use covout to specify the reporter, like HTML, and detail. The detail reporter will print the uncovered code in the console directly. Mocha runs test case with jscoverage module. jscoverage will ignore files while listing in covignore file. jscoverage will output a report in HTML format. jscoverage will inject a group of functions into your module exports. default jscoverage will search covignore in the project root. jscoverage will copy exclude files from the source directory to the destination directory.
Learn more about jscoverage
Istanbul
JavaScript test coverage made simple. Istanbul instruments your ES5 and ES2015+ JavaScript code with line counters, so that you can track how well your unit-tests exercise your codebase. The nyc command-line-client for Istanbul works well with most JavaScript testing frameworks, tap, mocha, AVA, etc. First-class support of ES6/ES2015+ using babel-plugin-Istanbul. Support for the most popular JavaScript testing frameworks. Support for instrumenting subprocesses, using the nyc command-line interface. Adding coverage to your mocha tests could not be easier. Now, simply place the command nyc in front of your existing test command. nyc's instrument command can be used to instrument source files outside of the context of your unit tests. nyc is able to show you all Node processes that are spawned when running a test script under it. By default, nyc uses Istanbul's text reporter. However, you may specify an alternative reporter.
Learn more about Istanbul