Jasmineは、JavaScriptの優れた単体テストフレームワークです。コードをテストするだけでなく、次の方法でコードを文書化するための優れた方法を提供します。
- 流暢なBDD風の方法を使用して、それ自体がほとんどドキュメントのように読めるテストを定義する
- テストレポートもドキュメントのように読めます
C#やJavaに匹敵するものが存在するかどうか疑問に思っています。
GitHub で NJasmine に出会いました。私はそれを使用したことはありませんが、C# 単体テストで Jasamine の素晴らしさを求める私のような他の人に役立つかもしれないと考えました。
GitHub から:
NJasmine は、 C# / .Net プログラミング用の JavaScript テスト ライブラリ Jasmine ( https://github.com/fschwiet/DreamNJasmine ) に触発された RSpec っぽいテスト言語です。
given("some preconditions", () => {
var range = 10;
when("the system under test is ran", () => {
var sut = new SystemUnderTest();
bool score = arrange(() => sut.Fire(range));
then("win!", () => {
expect(() => score);
});
});
});
Nuget で入手可能: http://nuget.org/List/Packages/NJasmine
繰り返しますが、私はそれを使用していないため、これを保証することはできませんが、これが他の人が情報に基づいた決定を下すのに役立つことを願っています.
HTH
Oleasterは、Java 8 アロー関数を広範囲に使用した、クリーンでシンプルな構文を持つ Java テスト フレームワークです。JUnit ランナーを使用して実行されます。
ホームページのコードサンプル:
@RunWith(OleasterRunner.class)
public class OleasterIntroductionTest {{
describe("A suite", () -> {
it("contains a spec with an expectation", () -> {
expect(40 + 2).toEqual(42);
});
});
}}
BDD の実装については、 Cucumber-JVMを参照してください。Java ベースですが、JVM ベースの言語 (Scala、Groovy) でも動作します。
Jenkins などの継続的インテグレーション システムを使用している場合は、Cucumber Reportsというレポート プラグインが利用可能です。
Java (および Groovy) をテストするための非常に人気のあるフレームワークはSpockで、そのテストは書かれた仕様のようにも読めます。
Javaに相当するものはJBehaveです
Ginkgo4jは、Ruby の RSpec BDD のポートです。
@RunWith(Ginkgo4jRunner.class)
public class MyTests {
private SystemUnderTest systemUnderTest;
private int range;
private bool score;
{
Describe("SystemUnderTest", () -> {
BeforeEach(() -> {
systemUnderTest = new SystemUnderTest();
});
Context("#Fire", () -> {
JustBeforeEach(() -> {
score = systemUnderTest.Fire(range));
});
Context("given a range", () -> {
BeforeEach(() -> {
range = 10;
});
It("should return a winning score!", () => {
assertThat(score, is(true));
});
});
});
}
}