Power AssertとMochaのAssertを比較してみた
AWS Summitにて、power-assertなるライブラリの存在を知ったのでとりあえず試してみました。 AWS Summitでのt_wadaさんのスライド やっていきましょう それでははじめていきましょう。 $ n […]
広告ここから
広告ここまで
目次
AWS Summitにて、power-assertなるライブラリの存在を知ったのでとりあえず試してみました。
AWS Summitでのt_wadaさんのスライド
やっていきましょう
それでははじめていきましょう。
$ npm init -y
Mocha + Power Assertのテスト環境を準備する
Qiitaに良い記事がありますので、それを参考にセットアップしていきます。
mocha + power-assert環境の構築 – Qiita
テストを実行する
mochaをグローバルインストールしている場合、./node_modules/mocha/bin/mocha
を実行しましょう。
$ ./node_modules/mocha/bin/mocha test/ --require intelli-espower-loader
ChaiのAssertと比較する
使うだけだと参考記事を見るだけで良くなっちゃうので、ChaiのAssertとの比較をしてみました。
ChaiのAsset
const assert = require('chai').assert
const author = "hoo";
it ("is chai assert(failed)", function() {
assert(author === 'hoge');
});
it ("is chai assert(succeeded)", function() {
assert(author === 'hoo');
});
これを実行すると、このように表示されます。
$ ./node_modules/mocha/bin/mocha tests/chai.js
1) is chai assert(failed)
✓ is chai assert(succeeded)
1 passing (14ms)
1 failing
1) is chai assert(failed):
AssertionError: Unspecified AssertionError
at Context.<anonymous> (tests/chai.js:6:5)
第二引数を特に指定していないこともありますが、かなりシンプルな表示です。
Power AssertのAssert
requireするものを変えているだけですね。
const assert = require("power-assert");
const author = "hoo";
it ("is power-assert(failed)", function() {
assert(author === 'hoge');
});
it ("is power-assert(succeeded)", function() {
assert(author === 'hoo')
});
それではPower Assetでやってみましょう。
$ ./node_modules/mocha/bin/mocha tests/assert.js --require intelli-espower-loader
1) is power-assert(failed)
✓ is power-assert(succeeded)
1 passing (12ms)
1 failing
1) is power-assert(failed):
AssertionError: false == true
+ expected - actual
-false
+true
at Decorator._callFunc (node_modules/empower-core/lib/decorator.js:110:20)
at Decorator.concreteAssert (node_modules/empower-core/lib/decorator.js:103:17)
at decoratedAssert (node_modules/empower-core/lib/decorate.js:51:30)
at powerAssert (node_modules/empower-core/index.js:63:32)
at Context.<anonymous> (tests/test.js:5:5)
かなり情報量が増えました。
ChaiでAssertしている箇所はrequire部分を書き換えるだけでそのまま行けそうな気がします。
完全にやってみた記事ですが、テスト書く習慣をつけていかないとなので引き続きいろいろ試してきます。