2012-10-16 18 views
7

Jasmine jest przyjemną jednostką do testowania kodu JavaScript. To sprawdza się nie tylko swój kod, to zapewnia miły sposób dokumentowania go:Jaśmin dla języka C# i/lub Java

  • Korzystanie z językiem BDD-owski sposób definiować testy, które samo w sobie niemal czyta się jak dokumentacją
  • Sprawozdanie z badań brzmi jak dokumentacja też

Zastanawiam się, czy istnieje coś podobnego dla C# i/lub Java.

Odpowiedz

4

Właśnie natknąłem się na NJasmine na GitHub. Nigdy go nie używałem, ale pomyślałem, że to może pomóc innym takim jak ja, którzy chcą niesamowitej jasaminy w testach jednostkowych C#.

Z GitHub:

NJasmine jest RSpec-owski język Test zainspirowany javascript testowej biblioteki Jasmine (http://pivotal.github.com/jasmine/) dla C#/.NET programowania.

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); 
     }); 
    }); 
}); 

Dostępne na Nuget: http://nuget.org/List/Packages/NJasmine

Ponownie, nie mogę ręczyć za to, ponieważ nie zostały wykorzystane, ale mam nadzieję, umieszczenie tej informacji tutaj to pomoże innym podejmować świadome decyzje.

HTH

2

Bardzo popularny framework do testowania Java (i) jest Spock Groovy, którego testy również czytać jak napisane specyfikacji.

2

Zajrzyj do Cucumber-JVM w celu wdrożenia BDD. Jest oparty na Javie, ale działa również z językami opartymi na JVM (Scala, Groovy).

W przypadku korzystania z ciągłego systemu integracji, takiego jak Jenkins, dostępna jest wtyczka do raportowania o nazwie Cucumber Reports.

4

Oleaster jest testowanie ramach Java czystą prostej składni, szeroko stosując Java 8 funkcji kursora. Jest wykonywany przy użyciu JUnit runner.

przykładowy kod z glównej:

@RunWith(OleasterRunner.class) 
public class OleasterIntroductionTest {{ 
    describe("A suite",() -> { 
     it("contains a spec with an expectation",() -> { 
      expect(40 + 2).toEqual(42); 
     }); 
    }); 
}} 
+0

Jaka jest zabawna składnia podwójnego nawiasu klamrowego? Przyznaję, że wcześniej tego nie widziałem. Czy to nowe z Java 8? – chiccodoro

+2

Blok bezpośrednio zagnieżdżony w klasie nazywa się ** ** blok inicjalizacji ** i jest wykonywany przed konstruktorem. Zobacz http://stackoverflow.com/questions/3987428/what-is-an-initialization-block lub [oficjalny tutorial] (http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html) dla szczegółów.Został wprowadzony przed Java 8. – czerny

+0

@czemy OK, dzięki – chiccodoro

3

JUnit 5 będą BDD-podobnych, z @DisplayName, @Nested, i tak dalej. Możesz mieć wygląd at the documentation.

Wydanie GA jeszcze nie jest dostępne, ale powinno wkrótce nadejść (pod koniec 2016 r.).

+0

Wspaniale jest zobaczyć JUnit, który ma wbudowaną obsługę tego. Umożliwienie BDD TDD w Javie poprzez "domyślną" strukturę testową –

Powiązane problemy