我一直在努力教自己如何对我的代码进行单元测试,因为我无法确定有时会产生错误的位置。这是一个我正在测试的简单函数 -
var exports = module.exports = {};
exports.mike = function(num) {
var result = num * 2;
return result;
}
这是我在/test/test.js中的内容
var should = require('should');
var pete = require('../program');
describe('#mike()', function(){
it('when passed a 2 should equal 4', function(){
pete.mike(2).should.equal(4);
});
});
在我的package.json中我有
"scripts": {
"test": "mocha"
}
当我运行npm测试时,一切正常。我的问题是 - 使用单元测试的最佳实践是什么?我知道你可以用你的代码内联编写它们,但这似乎会导致不必要的膨胀。它们只能通过在test.js中要求它们来使用它们,或者有没有办法在外部文件上运行测试?
(我正在考虑使用nodeschool作为一个例子。我知道他们在某种程度上运行你所创建的程序上的单元测试,而无需在代码中专门编写一些内容来包含测试。)< / p>
谢谢!
答案 0 :(得分:0)
在我的项目中,所有测试文件都在/test
文件夹下,名称为test-NeedTestFileName.js
。
在package.json
"scripts": {
"start": "node ./src/server/app",
"build": "node build/server/server.js --install_folder .",
"mocha": "./node_modules/.bin/mocha -u bdd -R spec --timeout 10000 ./src/server/tests/test-*.js",
"mocha-report": "./node_modules/.bin/mocha -R xunit --timeout 10000 ./src/server/tests/test-*.js -O output=./test-results/mocha.xml",
"karma": "node node_modules/karma/bin/karma start",
"test": "npm run mocha-report && npm run karma",
当我想运行单元测试时,只需运行npm run mocha
。要获取单元测试报告,将运行npm test
。