Note: Any future development of the JSCoverage code base will likely occur in the new JSCover project on GitHub, which reuses a substantial amount of JSCoverage code and aims for a high degree of backward compatibility with JSCoverage. JSCoverage itself is unlikely to have any further releases.

JSCoverage
code coverage for JavaScript

JSCoverage is a tool that measures code coverage for JavaScript programs.

Code coverage statistics show which lines of a program have been executed (and which have been missed). This information is useful for constructing comprehensive test suites (hence, it is often called test coverage).

JSCoverage works by instrumenting the JavaScript code used in web pages. Code coverage statistics are collected while the instrumented JavaScript code is executed in a web browser.

JSCoverage supports the complete language syntax described in the ECMAScript Language Specification (ECMA-262, 3rd edition). JSCoverage works with any modern standards-compliant web browser - including Internet Explorer (IE 6, 7, and 8), Firefox, Opera, Safari, and Google Chrome - on Microsoft Windows and GNU/Linux.

JSCoverage is free software, distributed under the GNU General Public License version 2.

Latest News RSS feed

October 2, 2012 - JSCover 0.0.1

The next generation JavaScript code coverage program has been released on GitHub.

Any future development of the JSCoverage code base will likely occur in the new JSCover project on GitHub, which reuses a substantial amount of JSCoverage code and aims for a high degree of backward compatibility with JSCoverage. JSCoverage itself is unlikely to have any further releases.

September 23, 2010 - JSCoverage 0.5.1

JSCoverage 0.5.1 is available for download.

This release contains several bug fixes and improvements:

  • Probably the largest change is in the documentation: the manual no longer recommends using file: URLs. It is recommended that an HTTP server be used instead. (See the manual for details.) The JSCoverage user interface now displays a warning when used with file: URLs.
  • The --verbose option to jscoverage now produces better output.
  • Report loading is now faster (thanks to Klaus).
  • Some bugs involving augmented object prototypes were fixed.
  • JavaScript instrumentation was improved to work better in non-browser environments.
  • Some cases where permission errors were occurring in inverted mode were fixed (thanks to tn).
  • Previously, if jscoverage-server was started with the option --ip-address=A, where A was a specific IP address, it was impossible to shut it down with jscoverage-server --shutdown. This should be possible now by running jscoverage-server --shutdown --ip-address=A from the same machine.
  • The test suite has been made more robust.

April 26, 2010 - New blog

If you would like to see some case studies showing how to use JSCoverage in practice, take a look at the new blog. This week there will be a series of articles about using JSCoverage with various JavaScript testing frameworks. The first article looks at using JSCoverage with the script.aculo.us test suite.

April 24, 2010 - JSCoverage 0.5

JSCoverage 0.5 is available for download.

This release contains a number of new features and bug fixes:

  • A new mode of operation, called "window mode", allows you to run code in a new browser window (or tab).
  • Code coverage statistics can now be generated for applications based on the Mozilla platform using the --mozilla option (thanks to Murali Nandigama for help creating this).
  • The method used to calculate overall percentage code coverage for all files has changed. Previously, the calculation was done using an unweighted average: each file's percentage code coverage contributed equally to the total, regardless of the number of lines of code in the file. Now, the calculation is done using a weighted average. This fixes bug #6 (thanks to Liu Cougar).
  • Contiguous lines in the "Missing" column are now grouped together (thanks to Liu Cougar).
  • The "Source" tab is no longer empty when code being tested throws an uncaught exception (fixing bug #5)
  • Previously, certain uses of the new operator were instrumented incorrectly; this has now been fixed (thanks to Guillaume Lung).
  • The jscoverage-server program now allows more characters in URLs (thanks to Guillaume Lung).
  • The jscoverage-server program now handles HTTP headers with empty values (thanks to Velo).
  • The jscoverage program now refuses to instrument code which has already been instrumented (thanks to Velo).
  • URLs containing spaces now work correctly (thanks to Igor Papkov).
  • Previously, on Windows, the jscoverage program was unable to instrument a directory in a drive root; this has now been fixed.
  • Encoded URLs are now handled better in the query string.
  • A limitation of 65,535 lines per file and 65,535 characters per line has been removed.
  • Floating-point numbers are now handled with improved precision.
  • The jscoverage-server program can no longer bind to the same port multiple times on Windows.
  • Some bugs in jscoverage-server's handling of the "chunked" Transfer-Encoding have been fixed.
  • Compilation under Cygwin now uses the -mno-cygwin flag.
  • The wire format used for submitting coverage reports for storage by jscoverage-server has changed. (This change will not have any visible effects for most users; it will only be of interest to those who have written code which parses that format.)

All news items...

Copyright © 2007, 2008, 2009, 2010 Silicon Forks siliconforks.com
jscoverage@siliconforks.com