Search code examples
javascriptnode.jsjasmine-node

jasmine-node done is not defined


Have been trying a simple async test. Installed jasmine-node npm install -g jasmine-node then wrote a simple module and test.

Simple module.

// weather.js
exports.get = function(city, callback) {
    callback(city);
};

and a test suite.

// weather-spec.js
var list = require("../modules/weather");

describe("Weather Forecast", function(data) {
    it('should get weather for London,UK', function() {
        list.get('London,UK', function(data) {
            expect(data).toEqual('London,UK');
            done();
        });
    });
});

I get the error:

Stacktrace:
    ReferenceError: done is not defined

Given the simple example I can't see where I am going wrong. Can anyone help?


Solution

  • done is the first argument passed to it:

    it('should get weather for London,UK', function(done) {
        list.get('London,UK', function(data) {
            expect(data).toEqual('London,UK');
            done();
        });
    });