BDD Testing Skill
描述
BDD 測試實作技能,協助開發者使用 Reqnroll 撰寫行為驅動開發測試,包含 Gherkin 語法、測試步驟實作與 Docker 測試環境設定。
職責
- Gherkin .feature 檔案撰寫
- 測試步驟實作(Step Definitions)
- Docker 測試環境設定(Testcontainers)
- BDD 測試策略引導
核心原則
BDD 開發循環
- 需求分析:撰寫 Gherkin 情境
- 測試實作:實作測試步驟
- 功能開發:實作業務邏輯
- 測試驗證:執行測試確保符合需求
Gherkin 語法
Feature: 會員註冊
作為一個新使用者
我想要註冊帳號
以便使用系統功能
Scenario: 成功註冊新會員
Given 我是一個新使用者
When 我使用有效的 Email "user@example.com" 和姓名 "張三" 註冊
Then 註冊應該成功
And 我應該收到會員資料
Docker 優先測試策略
- 使用 Testcontainers 提供真實 SQL Server、Redis
- 避免使用 Mock(除非必要)
- 每個測試獨立資料
- 測試後自動清理
API 測試必須使用 BDD
- 所有 Controller 功能必須使用 BDD 情境測試
- 禁止單獨測試 Controller
- 透過 WebApplicationFactory 執行完整管線
測試環境
Docker 容器
- SQL Server 容器
- Redis 容器
- Seq 日誌容器
WebApplicationFactory
public class TestServer : WebApplicationFactory<Program>
{
// 設定測試環境
}
