投稿数 584
公開から 2939

chai入門


はじめに

テストやるぞ〜

2種類

assert

ここで{ほにゃらら}の値になっていることを確認する的なやつ。

BDD

expectshouldを使う。 こっちはもっと複雑な表現ができる。 自然言語(つまり普通の英語)みたいな文法で書ける。

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はそれをいい感じに実行するためのやつ。 非同期をシーケンシャルにしたりとか。