js-test-driverユニットテストフレームワークについて読んでいたとき、フレームワークの背後にいる連中がアサーションフレームワークと統合することを意図していることがわかりました。アサーションフレームワークとは何ですか?一種の単体テストフレームワークですか?もしそうなら、そのようなフレームワークに固有のものは何ですか?
js-test-driverユニットテストフレームワークについて読んでいたとき、フレームワークの背後にいる連中がアサーションフレームワークと統合することを意図していることがわかりました。アサーションフレームワークとは何ですか?一種の単体テストフレームワークですか?もしそうなら、そのようなフレームワークに固有のものは何ですか?
回答:
アサーションフレームワークの例は以下のようになり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を使用するのではなく、アサーションを作成するだけです。