現在、良いnode.js(サーバー側js)単体テストフレームワークはありますか?提供されているAssertモジュールよりも少し深いものを探しています。
また、ノード用のまともなテストフレームワークを探していましたが、 Mocha が見つかりました。 Expresso の公式の後継であり、非常に成熟しているようです。
さまざまなアサーションライブラリをプラグインでき、コードカバレッジなどのレポーターを提供します(独自のプラグインが可能です)。 syncまたはasyncを実行でき、簡潔なAPIを備えています。
試して報告します...
他のプロジェクトに費やした信じられないほどの時間の後、私はついにJavascriptプロジェクトに戻り、mochaをいじる時間を取りました。真剣にお勧めします。テストは非常に読みやすく、gulpとの統合は素晴らしく、テストは非常に高速に実行されます。約半日(ブラウザからのbrowserifyの使用方法の理解に費やされたほとんどの時間)で、自動スタンドアロンおよびブラウザー内(browserify)テスト実行と対応するコードカバレッジレポートをセットアップできました。私にとって、mochaはテストフレームワークとして非常に良い選択のようです。
私はまだモカについて非常に確信しています。 chaiとの統合により、さまざまなアサーションスタイルをプラグインできます。 このgithubプロジェクト で作業セットアップをチェックアウトできます。コードカバレッジレポート、自動ウォッチャー、IntelliJとの良好な統合を統合し、現在カルマで使用しています
Mochaでセットアップしました-ここに素晴らしいチュートリアルがあります- http://brianstoner.com/blog/testing-in-nodejs-with-mocha/
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
});
利用可能なさまざまなテストフレームワークの中で、 mocha が最も新しく、実装が非常に簡単だと思います。これを使用する方法についての素晴らしいチュートリアルがあります: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express -mocha /
QUnit に慣れている場合は、 node-qunit を使用できます。これは、QUnitの既存のフレームワークの一種のノードラッパーです。
カルマとジャスミンを使用してnodejsを単体テストするために使用しているプロジェクト narma をアップロードしました。ノードモジュールはnodewebkitブラウザーにロードされるため、ノードモジュールを実行し、同じヒープ内でjqueryなどのライブラリを使用できます。
test-studio は、ユニットテスト用の強力なWebベースのフロントエンドを提供するnpmパッケージです。個々のテストまたはテストのグループを実行したり、ノードインスペクターを個々のテストにステップインしたりすることをサポートします。現在、mochaをサポートしており、将来の需要に応じてより多くのフレームワークがサポートされる予定です。
詳細については、こちらをご覧ください こちら 。
免責事項:私は著者です。
もともとnode.js用に作成された deadunit は、node.jsおよびブラウザ用のJavaScript単体テストライブラリです。そのユニークな属性のいくつか:
count
アサーションがあり、予想される例外と非同期アサーションを簡単に処理できます。