行為驅動開發是一種敏捷軟體開發的技術,它鼓勵軟體項目中的開發者、QA和非技術人員或商業參與者之間的協作。BDD最初是由Dan North在2003年命名,它包括驗收測試和客戶測試驅動等的極限編程的實踐,作為對測試驅動開發的回應。在過去數年裡,它得到了很大的發展
@Test
void tesScenario_loginOk() {
Scenario scenario = new Scenario();
scenario.describe("要進行登入但忘記輸入帳號與密碼")
.give("輸入資料", () -> new LoginDTO())
.and("輸入帳號", i -> i.setUserId("Tom"))
//
.when("執行登入", loginService::login)
//
.then("取得使用者資料", Objects::nonNull)
.but("帳號是登入者", i -> i.getUserId().equals("Tom"))
;
}
<dependency>
<groupId>io.github.h8000572003</groupId>
<artifactId>commons-extend-with</artifactId>
<version>0.0.1</version>
</dependency>