In addition, we use ESlint to run a static analysis (aka linting) of the source files and report errors.
Whenever a commit is pushed to the Converse Github repo, all ESlint checks and Jasmine tests are run on Travis CI.
You can run ESlint by typing
make eslint. Similarly the tests can be run via
To run both eslint and the tests, you can use
make test or
make check, a browser will automatically
start up, open a tab at http://localhost:9876 and start running the tests.
You’ll see a green bar at the top of the page, and on the right inside it is a
It’s often helpful to click that button and run the tests in debug mode. This way, you see better error output for failed tests.
Automatically run tests on file changes¶
To automatically run the tests whenever you make a change to any of the
Converse source code, you can run
make watch in one terminal, and
make tests in another.
make watch will build development bundles of Converse (in
and automatically rebuild them whenever a source file is modified.
Similarly, Karma will make sure that the tests are re-executed when the bundle files are rebuilt.
Running individual tests¶
Converse has over 400 tests, and it can take a while to run through all of them.
When developing on Converse, it’s often preferable to have a more rapid turnaround time between editing a file and checking whether the most relevant tests have passed.
Jasmine tests are described by it functions and the tests names are written to
be read as plain English sentences that start with the word
it("is rejected if it's an unencapsulated forwarded message",
Tests are grouped by describe functions, and contained in spec files inside the spec directory.
To run only a single test, you can replace
fit( for the particular
test that you want to run. You can also do this for multiple tests. All of them
will be run whenever
make test executes.
To run only a group of tests, you can similarly replace