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.