Jasmine是一個很好的JavaScript單元測試框架。它不僅考驗你的代碼,它提供了一個很好的方式,通過記錄它:Jasmine for C#和/或Java
- 使用流利的BDD十歲上下的方式來定義測試,這本身恰如文檔
- 試驗報告讀起來像文檔也
我想知道是否有任何可比的C#和/或Java存在。
Jasmine是一個很好的JavaScript單元測試框架。它不僅考驗你的代碼,它提供了一個很好的方式,通過記錄它:Jasmine for C#和/或Java
我想知道是否有任何可比的C#和/或Java存在。
我剛剛在GitHub上遇到了NJasmine。我從來沒有用過它,但認爲這可能會幫助像我這樣的人在C#單元測試中要求Jasamine的真棒。
從GitHub的:
NJasmine是由JavaScript測試庫茉莉花(http://pivotal.github.com/jasmine/)爲C#/ .NET編程激發了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
對Java的等效是JBehave
一個非常受歡迎的測試Java(和Groovy)框架Spock,其測試也喜歡閱讀書寫規範。
看看Cucumber-JVM實現BDD。它基於Java,但也適用於基於JVM的語言(Scala,Groovy)。
如果使用諸如Jenkins的持續集成系統,則會有一個名爲Cucumber Reports的報告插件可用。
Oleaster是用乾淨的簡單的語法一個Java測試框架,廣泛使用Java 8箭頭功能。它使用JUnit亞軍執行。從hompage
代碼示例:
@RunWith(OleasterRunner.class)
public class OleasterIntroductionTest {{
describe("A suite",() -> {
it("contains a spec with an expectation",() -> {
expect(40 + 2).toEqual(42);
});
});
}}
JUnit 5將BDD-等,與@DisplayName,@Nested,等等。你可以看看at the documentation。
GA版本尚未發佈,但應該很快到達(2016年底宣佈)。
很高興看到JUnit現在支持它。通過「默認」測試框架,可以在Java中執行BDD TDD –
什麼是有趣的雙大括號語法?我承認我以前沒見過。 Java 8也是新的嗎? – chiccodoro
直接嵌套到類中的塊稱爲**實例初始化塊**,並在構造函數之前執行。請參閱http://stackoverflow.com/questions/3987428/what-is-an-initialization-block或[官方教程](http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html)瞭解詳情。它是在Java 8之前推出的。 – czerny
@czemy好的,謝謝 – chiccodoro