技能用途
在高節奏的重構任務中,人工編寫測試非常耗時。但如果缺少測試防線,代碼一旦重寫就極易引入退化 Bug。
Athena 是 OMO 內置的 品質保證與自動測試技能。它專門用於解讀 OpenSpec 的 spec.md 中的驗收 Scenarios,自動為業務代碼(如控制器、API 服務)撰寫對應的 xUnit 或 Jest 單元測試,並使用 Mock 框架模擬外部相依性,確保業務邏輯的 100% 正確性。
運作原理
- 規格解讀:讀取當前 Change 的
spec.md,提取出所有的#### Scenario:驗收條件。 - 測試用例生成:使用
Given-When-Then語意,自動寫出 Mock 物件與斷言(Assertions)。 - 測試與覆蓋率驗證:在背景執行測試跑跑,分析覆蓋率(Coverage),若未達標則自動進行增量測試補全。
實戰對話範例
範例:為訂單控制器補齊 Integration Test
- You:
omo /spawn athena "為 OrderController 的 CreateAction 補齊整合測試" - AI:
[OMO] Athena Engaged: Automated UAT & Testing
正在讀取
spec.md中的驗收條件:「當發送 POST 請求至 /api/orders 時,必須返回 OperationResult」。Athena 呼叫:
get_code_snippet(qualifiedName: "OrderController")我已在
tests/OrderControllerTests.cs中建立了整合測試:[Fact] public async Task CreateOrder_ValidRequest_ReturnsOkResult() { var response = await _client.PostAsJsonAsync("api/orders", new CreateOrderDto { Total = 100 }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }執行
dotnet test-> Passed! 覆蓋率達 85.4%。測試防線已安全布署。