2014-04-15 bouzuya-fixturesをつくった
bouzuya/bouzuya-fixturesをつくった。bouzuya-fixturesはfixturesライブラリ。指定したファイルをrequire
するだけのもの。yak shaving。
// test/fixtures/users.js
module.exports = {
user1: { name: 'bouzuya' },
};
// index.js
var fixtures = require('bouzuya-fixtures');
fixtures('users').then(function(users) {
console.log(users['user1']); //=> { name: 'bouzuya' }
});
まあ、これ自体は割とどうでも良いのだけれど、これを機会にひさしぶりにCoverallsを使った。以前もCoverallsについては書いていて、そのときにもbouzuya/coveralls-exampleを書いている。ふだんカバレッジをほとんどとらずにいるのだけど、目安のためにもとるべきなので、慣れるために今回は設定した。
以前も書いたとおり、そんなに設定は難しくなくってmochaをつかっているなら、次のような感じでHTMLを出力できる。APP_COV
の有無でrequire('./lib/')
かrequire('./lib-cov/')
かを振り分けるように設定も忘れずに。
$ npm install jscoverage
$ $(npm bin)/jscoverage lib
$ APP_COV=1 $(npm bin)/mocha -R html-cov
mochaのreporterとしてmocha-lcov-reporterを使って、coverallsに出力を渡せばcoverallsへの出力もOK。実際にはTravis CIから送ると想定。そうでないならキーなどが必要なはず。面倒。
$ $(npm bin)/jscoverage lib && APP_COV=1 $(npm bin)/mocha -R mocha-lcov-reporter | $(npm bin)/coveralls
このへんをまとめてpackage.json
やらに設定しておくだけ。以前も一度書いているので簡単にできた。html-cov
で出力されたhtmlを開いて確認、とかも良いね。コンソールで確認したいんだけど、そのためのreporterはないみたいで残念。