Skip to content

Testing

Grant Carthew edited this page Oct 2, 2016 · 10 revisions

Description

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

Prerequisites

Running the Tests

If you installed RethinkDB on your laptop and you are testing on your laptop you can simply do the following from a command line:

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. The Event.idle is the biggest culprit, I think I have gotten rid of most of the occurrences.

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 RethinkDB 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