a collection of some useful functions for using Jake
npm install jake-tools``javascript`
var jt = require('jake-tools');
* cmd: 命令行
* cb: 执行完成后callback function(returnCode, stdout, stderr){}
* instantPrint: true不捕获stdout/stderr, false捕获stdout/stderr
`javascript`
jt.run('ls $PWD'); // simple async run
// run and get stdout/stderr
jt.run('ls $PWD', function(code, stdout, stderr){
if (code === 0) {
console.log('run success');
} else {
console.log('run fail);
};
console.log('stdout:')
stdout.forEach(function(chunk){
process.stdout.write(chunk)
});
console.log('stderr:')
stderr.forEach(function(chunk){
process.stderr.write(chunk)
});
}, false);
* url: 请求地址
* file: 存储文件路径
* cb: 保存完成后callback function (err) {}
`javascript`
jt.httpGet('http://some.host/jquery.js', 'out/jquery.js', function(err) {
if (err) {
console.log(err);
} else {
console.log('success');
}
})
* includes: 测试文件, 或测试文件列表, 支持glob语法
* excludes: 排除文件, 或排除文件列表, 支持glob语法
* cb: 测试完成后callback function(returnCode, stdout, stderr){}
`javascript`
jt.mocha("test/test-*.js");
jt.mocha(["test/test-.js", "test//test-.coffee"]);
jt.mocha("test/test-*.js", "test/test-not-me.js");
jt.mocha(["test/test-.js", "test//test-.coffee"], ["test/test-not-me.js", "test/test-not-me.coffee"]);
jt.mocha("test/test-*.js", function(code, out, err) {
// after test done
});
* dirs: 需统计覆盖率的文件所在目录
* includes: 测试文件, 或测试文件列表, 支持glob语法 (与JakeTools.mocha中定义相同)
* excludes: 排除文件, 或排除文件列表, 支持glob语法 (与JakeTools.mocha中定义相同)
* cb: 测试完成后callback function(jsonReport){} (与JakeTools.mocha中定义相同)
`javascript`
jt.coverage('./lib', "test/test-*.js", [], function(jsonReport) {
console.log(jsonReport.stats);
});
* jsonReport 测试结果json数据
`javascript`
jt.coverage('./lib', "test/test-*.js", [], function(jsonReport) {
jt.testResult(jsonReport);
});
* name: 报告名称
* jsonReport: 测试结果json数据
* tpl: 报告摸板路径 (jade模版)
* file: 输出文件路径
`javascript`
jt.coverage('./lib', "test/test-*.js", [], function(jsonReport) {
jt.testReport('Some Module Name', jsonReport, './report/tpl/main.jade', );
});
* includes: coffeescript文件, 或coffeescript文件列表, 支持glob语法
* excludes: 排除文件, 或排除文件列表, 支持glob语法
`javascript``
jt.coffee("*/.coffee");
jt.coffee("*/.coffee", "./not-me.coffee");
* name: 标题
* args...: 提示信息
* name: 标题
* args...: 错误信息
* includes: 包含文件, 或包含文件列表, 支持glob语法
* excludes: 排除文件, 或排除文件列表, 支持glob语法
* to: 目标目录
* includes: 包含文件, 或包含文件列表, 支持glob语法
* excludes: 排除文件, 或排除文件列表, 支持glob语法
* includes: 包含文件, 或包含文件列表, 支持glob语法
* excludes: 排除文件, 或排除文件列表, 支持glob语法