はじめに
テストやるぞ〜
2種類
assert
ここで{ほにゃらら}の値になっていることを確認する的なやつ。
BDD
expect
とshould
を使う。
こっちはもっと複雑な表現ができる。
自然言語(つまり普通の英語)みたいな文法で書ける。
sholdとは?
sholdはfunction、Object Object(=すべてのObjectの親)のprototypeにねじ込ませるみたい。
基本的にはexpectだけで大丈夫そう。
これはいらん。
describeとかitってなに?
BDDの文化らしいです。
Jasmineっていう他のtestライブラリでも使われています。
Mochaの「インターフェース」システムにより、開発者はDSLのスタイルを選択できます。 Mochaには、BDD、TDD、Exports、QUnit、およびRequireスタイルのインターフェースがあります。
DSLとは?
Domain-specific languages
BDDは、動作と期待される結果を表現できる自然言語の構成要素(たとえば、英語のような文)を使用した単純なドメイン固有言語(DSL)を使用することにより、主に促進されます。 テストスクリプトは、さまざまな程度の洗練されたDSLの人気のあるアプリケーションです。 BDDは、特に解決すべきビジネス問題の「問題領域」が複雑な場合、効果的な技術的実践と見なされます。
ここでいうドメイン固有言語(DSL)のドメインっていうのはテストのこと・・・ってことか。
describe
ファイルごと
Describe a "suite" with the given `title` and callback `fn` containing nested suites and/or tests.
ネストされたスイートやテストを含む「タイトル」とコールバック「fn」で「スイート(=組,組曲とか)」を記述します。
it
testごと
chai と mocha
chaiはアサーションのロジック。(アサーションだけ)
mochaはそれをいい感じに実行するためのやつ。
非同期をシーケンシャルにしたりとか。
最近のコメント