「アサーションフレームワーク」とは何ですか?


10

js-test-driverユニットテストフレームワークについて読んでいたとき、フレームワークの背後にいる連中がアサーションフレームワーク統合することを意図していることがわかりました。アサーションフレームワークとは何ですか?一種の単体テストフレームワークですか?もしそうなら、そのようなフレームワークに固有のものは何ですか?

回答:


9

アサーションフレームワークの例は以下のようになりHamcrestのJUnit 4 Hamcrestに統合されたテストを実行していない、それは単に書き込みアサーションへの表現方法を提供します。

古いJUnitスタイルの等式アサーション:

assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th

ハムクレストスタイルの平等の主張:

assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));

基本的に、アサーションフレームワークを使用すると、簡単に拡張可能な方法でアサーションを実行できます。アサーションフレームワークはアサーションのみに焦点を当てているため、テストを収集して実行する必要があるツールよりもはるかに優れた働きをします。NUnitはまた、アサーションに対してHamcrestアプローチを採用しています。テストを実行するためにHamcrestを使用するのではなく、アサーションを作成するだけです。


2

JsTestDriverは主に、テストランナーの提供、つまりテストの実行方法に関係しています。

これは、スタイルのxUnitである組み込みのアサーションフレームワークを提供します。これは実際にテストを記述するために使用されます(例:assertTrue、assertEqualsなど)。ただし、別のアサーションフレームワークにプラグインすることもできます。現在、UnitとJasmineで使用できるプラグインがあり、BDDスタイルのアサーションを提供しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.