Skip to content

Testing

Grant Carthew edited this page Aug 23, 2016 · 10 revisions

Description

There are over 1100 tests available to run against rethinkdb-job-queue. Due to the reliance on the RethinkDB database, they are integration tests rather than unit tests.

Running the Tests

To run the tests you will need a RethinkDB database installed. Ideally having the database on the same machine you are running the tests on will make it easy for you.

If RethinkDB is installed on the same machine you are running the tests on, simply do the following:

git clone https://github.com/grantcarthew/node-rethinkdb-job-queue
cd node-rethinkdb-job-queue
npm install
npm test

Note that some of the tests are time sensitive and I have seen the odd error in the tests if the order of events does not occur perfectly.

Customize Tests

If you do not have RethinkDB installed locally or you want to change the names of the database, please edit the test-options.js file to your liking. The top of the file looks like the following:

const dbHost = module.exports.dbHost = 'localhost'
const dbPort = module.exports.dbPort = 28015
const dbName = module.exports.dbName = 'rjqJobQueueTests'
const queueName = module.exports.queueName = 'rjqJobQueueTestJobs'

Also, take note of the test-current file. If you are trying to work on just a limited feature this will make your testing a lot faster.

Edit the test-current file to change the module under test and run with the following command.

> npm run tc

Have you read the Debugging document yet?

Test Cleanup

The integration tests for rethinkdb-job-queue will leave an empty database on your RethinkDB server. Please connect to the web interface and delete the database.

Main

How It Works

Contributing

API

Queue Methods

Queue Properties

Queue Events

Job Methods

Job Properties

Documentation

Clone this wiki locally