🎨
Andy開發紀錄
  • 關於
    • 自介
  • 設計模式
    • 觀察者模型
    • 有限狀態機
    • 裝飾器模式
  • 其他
    • Scrum敏捷式開發
    • SOLID設計
    • TDD驅動測試開發
    • Event Driven Architecture
    • CQRS命令查詢職責分離
    • Concurrent並行相關
      • Single Thread Execution
      • 共用元件設計
        • CountDownLatchWorkPool
        • IForkWorkService
      • Pattern
        • THREAD-PER-MESSAGE
        • PRODUCER CONSUMER
        • SINGLE THREAD
        • Guarded Suspension 守衛模式
      • IQueue
        • ListQueue
        • BlockQueue
        • OrderBlockQueue
  • 元件設計
    • Sql Help
      • SQL Help Generate
      • StringBuilderGenerator
      • SQL Generate
    • excel工具
    • BDD行為驅動開發
    • 多工設計
      • 多工自動調整Thread數量
    • 常用Design Patten實作
    • Telegram Bot元件
    • 代碼元件
    • HCP API元件
    • 文字解析元件
    • MockitObject
    • 資料驗證元件
    • Zip壓縮工具
    • Sql Code Generate
  • 讀書心得
    • Clean code第一章
  • side project
    • 後端服務
  • IDEA
    • IDEA 外掛推薦
    • IDEA 外掛開發
Powered by GitBook
On this page

Was this helpful?

  1. 元件設計

BDD行為驅動開發

行為驅動開發是一種敏捷軟體開發的技術,它鼓勵軟體項目中的開發者、QA和非技術人員或商業參與者之間的協作。BDD最初是由Dan North在2003年命名,它包括驗收測試和客戶測試驅動等的極限編程的實踐,作為對測試驅動開發的回應。在過去數年裡,它得到了很大的發展

BDD 情境測試

場景:要登入但忘記輸入帳號與密碼 (GIVE)當:要輸入登入資料 且:輸入帳號 且:輸入密碼

(WHEN)當:點擊登入

(THEN)那麼:有取得使用者帳號 而且:登入帳號為Tom

 @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>
Previousexcel工具Next多工設計

Last updated 2 years ago

Was this helpful?