2016-08-03 51 views
1

我編寫了一個基本的摩卡單元測試來測試我的算法在節點中的挑戰。我希望通過chai庫單元測試來驗證帶有插入函數參數的函數的返回值。使用Chai測試摩卡中參數的函數返回

// algorithm.js(函數)

var alg = function(num) { 
    return num; 
} 

module.exports = ALG;

//規格/ algorithm.js(測試)

var path = require('path'); 
var expect = require('chai').expect; 

var algorithm = require(path.join(__dirname, '..', './algorithm.js')); 

describe('algorithm()', function() { 
    'use strict'; 

    it('exists', function() { 
    expect(algorithm).to.be.a('function'); 

    }); 

    /* ******* What should this be *******  */ 
it('should equal 1', function() { 
    expect(algorithm.alg(1)).to.equal(1); 
}); 
}); 

我用自耕農測試生成器來生成該節點的設置。第一個測試'alg'是否是函數的測試通過,但我不知道在閱讀文檔後第二次測試應該是什麼。

回答

1

應答文件,它應該是:

module.exports = function(param) { // .... }; 

我想通了,正確的功能是期待(FUNC).to.deep.equal(返程);對於測試文件:

var path = require('path'); 
var expect = require('chai').expect; 

var algorithm = require(path.join(__dirname, '..', './algorithm.js')); 

describe('algorithm()', function() { 
    'use strict'; 

    it('exists', function() { 
    expect(algorithm).to.be.a('function'); 

    }); 

    /* ******* This should be *******  */ 
it('should equal 1', function() { 
    var res = algorithm(1); 
    expect(res).to.deep.equal(1); 
}); 
});