Skip to content


Subversion checkout URL

You can clone with
Download ZIP
python unittest integration for jshint
Branch: master
Failed to load latest commit information.
src/unittest_jshint initial commit
.gitignore updating .gitignore adding files
README.rst initial commit removin the Copyright notice



This package integrates JSHint with Python's `unittest`_ module. This package was inspired by gocept.jslint.

JSHint is a community-driven tool to detect errors and potential problems in JavaScript code and to enforce your team's coding conventions.

It provides a special JSHintTestCase class that collects JavaScript files (in a configurable manner) and dynamically generates a test method for each file that calls jslint on that file.


To use it, create a test class like this:

class MyPackageJSLintTest(unittest_jshint.JSHintTestCase):

    include = (

    options = ( 'curly', 'eqeqeq', )

include is a list of "resource paths" of the form packagename:path (passed to pkg_resources).

exclude can be a list of filenames (without path) that will not be collected.

options is a list of arguments that are passed to JSHint (see its documentation for details). The default value is:

options = ()

All files ending in .js contained in each of these paths will be collected, and the test class will grow a method named test_<filename>.js.

You can ignore JSHint error by setting ignore on the test class (a list of substrings that are matched against each JHLint output line):

ignore = (
    "Use a named parameter",


unittest_jshint was tested with:

  • Python 2.6 (unittest2 required)
  • Python 2.7

Currently I only test with Python versions that are used by Plone so it just might work for other Python versions.

unittest_jshint requires jshint to be in the PATH or providing customized environmental variable UNITTEST_JSHINT_COMMAND.


  • Rok Garbas, garbas
Something went wrong with that request. Please try again.