Node.jsでのBDDおよびTDDには何が使用されますか?
私はCucumber + RSpecを使用するのに慣れています。 node.jsの優れたコンボは何ですか?
ありがとう
更新
モカ すぐに投票できます!
Node.jsモジュールページから testing modulesセクション を見ることができます。たとえば、 Vows は非常に人気のあるBDDフレームワークです。
VowsはNode.jsの動作駆動型開発フレームワークです。
また、 mocha-cakes 、mochaでのCucumber構文の試み。
Rspecに慣れている場合、 Jasmine はかなりいいです。 Node.jsでは使用していませんが、バックボーンアプリのテストに使用しています。構文はrspecに非常に似ています。上記のサイトから取られた:
describe("Jasmine", function() {
it("makes testing JavaScript awesome!", function() {
expect(yourCode).toBeLotsBetter();
});
});
上記のAlfredが提供するリンクにリストされていますが、人々がVowsを例としてリストしたので、特にrspecと構文的に似ているので、Jasmineにバンプを与えると思いました;)
Node http://vowsjs.org にBDDの 'Vows'プロジェクトがあります。見た目はとてもいいです。RSpec/ Cucumberとは少し異なりますが、とても楽しい
少し後かもしれませんが、探しているのはKyuriです: https://github.com/nodejitsu/kyuri
「kyuriは、いくつかの追加の非同期キーワードを含むnode.js Cucumber実装です。160以上の言語をサポートし、VowsJSスタブにエクスポートします」
また、nodejitsuは、プロジェクトのKyuriの機能仕様を共同で管理するためのWebアプリを作成したようです。これは「prenup」という名前で、見てみましょう。
yadda を試すこともできます。 mocha、jasmine、casper、webdriverなどの他のテストライブラリにプラグインしますが、in situでテストに注釈を付けるだけでなく、適切な機能ファイルを作成することもできます。典型的なテストは次のようになります...
var Yadda = require('yadda');
Yadda.plugins.mocha();
feature('./features/bottles.feature', function(feature) {
var library = require('./bottles-library');
var yadda = new Yadda.Yadda(library);
scenarios(feature.scenarios, function(scenario, done) {
yadda.yadda(scenario.steps, done);
});
});
そして機能ファイル...
Feature: Mocha Asynchronous Example
Scenario: A bottle falls from the wall
Given 100 green bottles are standing on the wall
when 1 green bottle accidentally falls
then there are 99 green bottles standing on the wall
そして出力...
Mocha Asynchronous Example
✓ A bottle falls from the wall
1 passing (12ms)
Buster.JS をご覧ください。 javascriptテストに関する本 を文字通り書いたChristian Johansenによって作成されました。
BusterはTDDと [〜#〜] bdd [〜#〜] の両方をサポートしています。ブラウザーの自動化(JsTestDriverを考えてください)、QUnitスタイルの静的HTMLページのテスト、ヘッドレスブラウザー(PhantomJS、jsdom)などでのブラウザーテストを行います。
パッケージa(bddとモック) https://npmjs.org/package/a
非常にコンパクトな構文、行為から分離されたコンテキスト、連鎖可能な行為。再帰的に検索する簡単なCmdラインランナー。
私も良いGherkin実装を探していました。mocha-cakes/ mocha-cakes-2が見つかりましたが、これはニースですが、十分な機能を備えていませんでした。そこで、Mochaをベースとして独自に構築します。これは、Scenario Outlinesを含むガーキン言語と同等です。また、テスト内のデータを簡単に参照できます。 cucumber.jsとは異なり、すべてインラインではなく個別のファイルです。プロジェクトは次の場所にあります。
私は先月同じ懸念を経験していました。
BDDの場合:
Mocha自体は、describeおよびitステートメントによってBDDスタイルを提供しますが。
キュウリのようなスタイルの場合、あなたは試すことができます:
彼らはすべて独自のスタイルを持っています。作業用のスニペットを現在提供できないのでごめんなさい。どちらを選択するかを@Donaldに知らせてください。あなたの洞察を知りたいです。