Node.js の assert モジュールでユニットテスト

node.js で簡単にユニットテストをしてみます。mocha + chai + should などで連携してユニットテストする方法もありますが、今回はシンプルにnode.js の core モジュールにある assert モジュールを使用してみます。

assert

assert は node の標準モジュールです。

strict モードと legacy モードがあります。どちらでも実行出来ますが、strict モードが推奨されています。

メソッド

メソッドは下記が使えます。

  • assert(value[, message])
  • assert.deepEqual(actual, expected[, message])
  • assert.deepStrictEqual(actual, expected[, message])
  • assert.doesNotReject(block[, error][, message])
  • assert.doesNotThrow(block[, error][, message])
  • assert.equal(actual, expected[, message])
  • assert.fail([message])
  • assert.fail(actual, expected[, message[, operator[, stackStartFunction]]])
  • assert.ifError(value)
  • assert.notDeepEqual(actual, expected[, message])
  • assert.notDeepStrictEqual(actual, expected[, message])
  • assert.notEqual(actual, expected[, message])
  • assert.notStrictEqual(actual, expected[, message])
  • assert.ok(value[, message])
  • assert.rejects(block[, error][, message])
  • assert.strictEqual(actual, expected[, message])
  • assert.throws(block[, error][, message])

テスト

assert モジュールを require して使用します。

今回は、assert ディレクトリを作成して、そこへ test.js ファイルを格納して実行してみます。

実行 OK の場合

結果 OK の場合

実行 NG の場合

結果 NG の場合

diff が表示されます。

まとめ

node.js で簡易テストする分にはasssert モジュールで可能です。assertion だけ出来るのでよければ、こちらを使うこと簡単に実装できます。複雑なテストをする場合はテスティングフレームワークやアサーションライブラリを組み合わせて行う方法もあります。

参考

公式:アサート

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA