This is the fourth in a series of articles about using the JSCoverage tool with various JavaScript testing frameworks:
- Using JSCoverage with the script.aculo.us test suite
- Using JSCoverage with the MochiKit test suite
- Using JSCoverage with the jQuery test suite
- Using JSCoverage with the MooTools test suite (this article)
First, we need to check out MooTools from its Git repository. We will check this out into the F:\
directory. The repository contains a .gitmodules
file referencing Git submodules; we will need those too:
git clone http://github.com/mootools/mootools-core.git cd mootools-core git submodule init git submodule update
MooTools actually has two test suites: one in the Specs
directory and one in the Tests
directory. The one in Tests
is newer and does not have very many tests in it yet, so we will skip that one and just run the one in the Specs
directory. To run the test suite, we open the URL file:///F:/mootools-core/Specs/index.html
in a web browser:
It lists a number of test suites; we will choose to run “MooTools-Core 1.3: 1.2public + 1.3public”. Clicking on the link loads the URL file:///F:/mootools-core/Specs/runner1.3.html?specs=1.2public&specs=1.3public
:
We will instrument this code using the jscoverage
tool. We will use the --exclude
option to skip the Tests
directory and the --no-instrument
option to avoid instrumenting the test suite in the Specs
directory:
jscoverage --exclude=Tests --no-instrument=Specs mootools-core instrumented-mootools
To run the instrumented tests, usually we open in our web browser a URL of the form file:///.../jscoverage.html?URL
, where URL is the URL of the test suite. But note that the test suite URL contains some special characters, so we need to encode these when putting them in a URL:
file:///F:/instrumented-mootools/jscoverage.html?Specs%2Frunner1.3.html%3Fspecs%3D1.2public%26specs%3D1.3public
We can open this in our web browser:
The “Summary” tab displays coverage statistics:
Tomorrow we will look at using JSCoverage with the YUI test suite.