单元测试的方法在thinkjs的源码中已经提供了,可以参考thinkjs/test/think.js。
方法很简单,就是要在单元测试代码里面加上
global.APP_PATH = path.normalize(__dirname + '/../../App');
process.execArgv.push('--no-app');
require(path.normalize(__dirname + '/../../www/index.js'));
然后后面写要测试的内容就可以了。
例如:
var path = require('path');
var assert = require('assert');
global.APP_PATH = path.normalize(__dirname + '/../../App');
process.execArgv.push('--no-app');
require(path.normalize(__dirname + '/../../www/index.js'));
var Buyer = thinkRequire('BuyerModel');
describe('用户模块', function() {
it('通过ID查找用户', function(done) {
var buyer = Buyer();
var id = 31;
buyer.getById(id).then(function(res) {
assert.equal(id, res.id);
done();
});
})
});