web-dev-qa-db-ja.com

Node.jsユニットテスト

現在、良いnode.js(サーバー側js)単体テストフレームワークはありますか?提供されているAssertモジュールよりも少し深いものを探しています。

163
Mark

node-unit を使用することになり、本当に満足しています。

元々 Expresso を使用していましたが、テストを並行して実行するという事実がいくつかの問題を引き起こしました。 (たとえば、この状況ではデータベースフィクスチャを使用してもうまく機能しません)。

65
evilcelery

また、ノード用のまともなテストフレームワークを探していましたが、 Mocha が見つかりました。 Expresso の公式の後継であり、非常に成熟しているようです。

さまざまなアサーションライブラリをプラグインでき、コードカバレッジなどのレポーターを提供します(独自のプラグインが可能です)。 syncまたはasyncを実行でき、簡潔なAPIを備えています。

試して報告します...

編集:

他のプロジェクトに費やした信じられないほどの時間の後、私はついにJavascriptプロジェクトに戻り、mochaをいじる時間を取りました。真剣にお勧めします。テストは非常に読みやすく、gulpとの統合は素晴らしく、テストは非常に高速に実行されます。約半日(ブラウザからのbrowserifyの使用方法の理解に費やされたほとんどの時間)で、自動スタンドアロンおよびブラウザー内(browserify)テスト実行と対応するコードカバレッジレポートをセットアップできました。私にとって、mochaはテストフレームワークとして非常に良い選択のようです。

更新:

私はまだモカについて非常に確信しています。 chaiとの統合により、さまざまなアサーションスタイルをプラグインできます。 このgithubプロジェクト で作業セットアップをチェックアウトできます。コードカバレッジレポート、自動ウォッチャー、IntelliJとの良好な統合を統合し、現在カルマで使用しています

46
bennidi

私は個人的にassertモジュールのみを使用しましたが、もっと欲しいと思っています。私は多くのノードモジュールに目を通し、人気のある単体テストフレームワークは node-unit である必要があります(これはExpressoと同じ人によって作られています(おそらく名前が更新されていますか?)

Vows も有望に見えます。

15
jtsao22

個人的には Expresso にこだわっていますが、多くの異なるフレームワークがあり、ほとんどのテストスタイルに対応しています。

Joyentには 詳細なリスト ;があります。それを試してみてください。

15
einaros

Mochaでセットアップしました-ここに素晴らしいチュートリアルがあります- http://brianstoner.com/blog/testing-in-nodejs-with-mocha/

9
Setrino

vows はnode.jsの堅牢な単体テストライブラリですが、構文は面倒です。

vows-fluent と呼ばれる薄い抽象化を作成しました。これにより、APIがチェーン可能になります。

また、別の抽象化[vows-is]を作成しました。これはvows-fluentに基づいて構築され、BDDスタイルの構文を公開します。

例は

var is = require("vows-is");

is.suite("testing is fun").batch()

    .context("is testing fun?")
        .topic.is("yes")
        .vow.it.should.equal("yes")

.suite().run({
    reporter: is.reporter
});

その他の例

5
Raynos

利用可能なさまざまなテストフレームワークの中で、 mocha が最も新しく、実装が非常に簡単だと思います。これを使用する方法についての素晴らしいチュートリアルがあります: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express -mocha /

4
sam100rav

QUnit に慣れている場合は、 node-qunit を使用できます。これは、QUnitの既存のフレームワークの一種のノードラッパーです。

1
Zorayr

カルマとジャスミンを使用してnodejsを単体テストするために使用しているプロジェクト narma をアップロードしました。ノードモジュールはnodewebkitブラウザーにロードされるため、ノードモジュールを実行し、同じヒープ内でjqueryなどのライブラリを使用できます。

0
noamtcohen

test-studio は、ユニットテスト用の強力なWebベースのフロントエンドを提供するnpmパッケージです。個々のテストまたはテストのグループを実行したり、ノードインスペクターを個々のテストにステップインしたりすることをサポートします。現在、mochaをサポートしており、将来の需要に応じてより多くのフレームワークがサポートされる予定です。

詳細については、こちらをご覧ください こちら

免責事項:私は著者です。

0
Dale Anderson

もともとnode.js用に作成された deadunit は、node.jsおよびブラウザ用のJavaScript単体テストライブラリです。そのユニークな属性のいくつか:

  • 簡単な学習曲線
  • テスト結果をコマンドライン(色付きまたはプレーンテキスト)またはhtmlとして出力できます
  • アサーションがあるコードの実際の行を出力するので、テストの解説を書くのに多くの時間を費やさなくても、出力は理にかなっています
  • 単純なcountアサーションがあり、予想される例外と非同期アサーションを簡単に処理できます。
  • 例外およびが持っている添付データを出力します
  • コードがハングしているかどうかを通知します(望ましくないものですが、通常は気付かれません)
  • イベントドリブンAPIにより、ネットワーク経由で、または任意の方法でテスト結果をストリーミングできます。
  • node-fibers によるテストをサポート
0
B T