skills/kevintsengtw/dotnet-testing-agent-skills

kevintsengtw/dotnet-testing-agent-skills

47 skills195 total installsGithubGithubGitHub

dotnet-testing-advanced-testcontainers-database

協助使用 Testcontainers for .NET 進行容器化資料庫整合測試。當使用者需要測試真實資料庫行為(PostgreSQL、MSSQL)、需要解決 EF Core InMemory 限制、或需要建立容器共享的測試架構時使用此技能。

8

dotnet-testing-nsubstitute-mocking

協助使用 NSubstitute 建立測試替身(Test Double),包含 Mock、Stub、Spy。當使用者需要隔離外部相依、模擬介面行為、驗證方法呼叫、測試相依注入,或需要建立假物件時,請使用此技能。

7

dotnet-testing-fluentvalidation-testing

協助測試 FluentValidation 驗證器。當使用者需要撰寫驗證器測試、驗證業務規則、測試錯誤訊息、處理非同步驗證、測試跨欄位邏輯、或使用 FluentValidation.TestHelper 時,請使用此技能。

7

dotnet-testing-advanced-webapi-integration-testing

WebApi 整合測試完整指南,涵蓋測試專案設定、WebApplicationFactory 使用、資料庫整合、全域例外處理、FluentValidation 整合、以及完整的端到端測試實作。

7

dotnet-testing-complex-object-comparison

協助處理複雜物件比對與驗證。當使用者需要比對深層物件結構、處理循環參照、排除動態欄位(如時間戳記、自動生成 ID)、處理大量資料比對,或最佳化物件比對效能時,請使用此技能。

6

dotnet-testing-advanced-aspnet-integration-testing

ASP.NET Core 整合測試完整指南。當使用者需要測試 Web API 端點、驗證完整的 HTTP 請求/回應流程、測試中介軟體 (Middleware) 運作、驗證依賴注入設定、或詢問如何使用 WebApplicationFactory 進行整合測試時,請使用此技能。涵蓋 TestServer 設定、HttpClient 測試模式、AwesomeAssertions.Web HTTP 回應斷言、記憶體資料庫配置、服務依賴替換策略,以及三個層級 (Level 1/2/3) 的整合測試實作模式。

6

dotnet-testing-autofixture-nsubstitute-integration

協助在 .NET 測試中整合 AutoFixture 與 NSubstitute,實現自動模擬(Auto-Mocking)功能。當使用者需要測試有多個相依性的服務類別、建立自訂 AutoData 屬性、或使用 Frozen 機制確保測試一致性時,請使用此技能。

6

dotnet-testing-autodata-xunit-integration

AutoData 屬性家族整合 xUnit 與 AutoFixture,實現參數化測試的自動資料注入。涵蓋 AutoData、InlineAutoData、MemberAutoData、CompositeAutoData、CollectionSizeAttribute,以及 CSV/JSON 外部資料整合。

6

dotnet-testing-advanced-testcontainers-nosql

協助使用 Testcontainers 進行 MongoDB 與 Redis 的容器化整合測試。當使用者需要測試 NoSQL 資料庫操作、快取服務、文件查詢或五種 Redis 資料結構時使用此技能。

6

dotnet-testing-autofixture-basics

使用 AutoFixture 自動產生測試資料的基礎技術,包括匿名測試概念、Fixture 類別使用、Create<T>() 與 CreateMany<T>() 方法、複雜物件自動建構、循環參考處理,以及與 xUnit 的整合應用

6

dotnet-testing-test-naming-conventions

協助命名測試方法與測試類別。當使用者詢問測試命名規範、需要改進測試可讀性、或要求檢查測試名稱是否符合最佳實踐時使用此技能。

6

dotnet-testing-xunit-project-setup

協助建立與設定 xUnit 測試專案的完整指南。當使用者要求建立 xUnit 測試專案、設定測試專案結構、配置測試相依套件,或詢問 xUnit 專案最佳實踐時使用此技能。

6

dotnet-testing-awesome-assertions-guide

協助使用 AwesomeAssertions 進行流暢且可讀的測試斷言。當使用者需要撰寫斷言、比對物件、驗證集合、處理複雜物件比對,或建立自訂 Assertions 時,請使用此技能。

6

dotnet-testing-autofixture-customization

AutoFixture 進階自訂化技術,包括 DataAnnotations 自動整合、屬性範圍控制、自訂 ISpecimenBuilder 實作、DateTime 與數值範圍建構器、泛型化設計與擴充方法

6

dotnet-testing-advanced-tunit-advanced

TUnit 新世代測試框架進階應用技巧。 涵蓋資料驅動測試:MethodDataSource、ClassDataSource、Matrix Tests。 提供依賴注入模式、測試生命週期管理、Properties 屬性標記與過濾。 包含執行控制:Retry 重試機制、Timeout 超時控制、DisplayName 自訂名稱。 實戰 ASP.NET Core 整合測試:WebApplicationFactory、效能測試、負載測試。 整合 Testcontainers 容器編排:PostgreSQL、Redis、Kafka 多服務協作。 適用於企業級專案,需要複雜測試基礎設施的進階測試場景。

6

dotnet-testing-advanced-xunit-upgrade-guide

協助將 xUnit 測試專案從 2.9.x 升級到 3.x 版本。當使用者詢問 xUnit 升級、xUnit v3 遷移、xUnit 破壞性變更、或需要更新 xUnit 測試專案時使用此技能。

6

dotnet-testing-advanced-tunit-fundamentals

TUnit 新世代 .NET 測試框架入門基礎。 提供 Source Generator 驅動的測試發現、AOT 編譯支援、流暢式斷言語法。 涵蓋 TUnit 專案建立、[Test] 屬性使用、非同步斷言、參數化測試。 包含測試生命週期管理、並行執行控制、與 xUnit 語法對照。 適用於 .NET 8+ 專案,追求高效能測試執行的現代化開發環境。

6

dotnet-testing-test-data-builder-pattern

使用 Test Data Builder Pattern 建構可維護、可讀、流暢的測試資料。當需要建立測試物件、管理複雜測試資料、或改善測試可讀性時使用此技能。適用於單元測試與整合測試的測試資料準備階段。

6

dotnet-testing-bogus-fake-data

協助使用 Bogus 假資料產生函式庫在 .NET 測試中產生真實感的測試資料。當使用者需要產生擬真的姓名、地址、電話、公司資訊等測試資料,或需要多語言支援的測試資料時,請使用此技能。

6

dotnet-testing-private-internal-testing

協助開發者在測試私有(private)和內部(internal)成員時做出正確的設計決策。當使用者需要測試 internal 類別、使用 InternalsVisibleTo、測試私有方法、或改善程式碼的可測試性時,請使用此技能。

6

dotnet-testing-advanced-aspire-testing

協助使用 .NET Aspire Testing 框架建立分散式應用的整合測試。當使用者要求建立 Aspire 測試、從 Testcontainers 遷移到 Aspire Testing、或需要測試雲原生 .NET 應用時使用此技能。

6

dotnet-testing-datetime-testing-timeprovider

使用 Microsoft.Bcl.TimeProvider 測試時間相依邏輯的完整指南。當使用者需要測試與日期時間相關的程式碼(如營業時間判斷、快取過期、排程任務、Token 有效期限)、詢問如何讓 DateTime.Now 可測試、或需要在測試中控制時間流逝時,請使用此技能。涵蓋 TimeProvider 抽象化、FakeTimeProvider 時間控制(凍結、快轉、倒轉)、以及 AutoFixture 整合。

6

dotnet-testing-filesystem-testing-abstractions

協助使用 System.IO.Abstractions 建立可測試的檔案系統操作程式碼。 當使用者需要測試涉及 File、Directory、Path 等靜態類別的程式碼, 或者詢問如何模擬檔案系統操作、使用 MockFileSystem 進行測試時,請使用此技能。

6

dotnet-testing-test-output-logging

協助開發者在 xUnit 測試中正確使用 ITestOutputHelper 與 ILogger 進行測試輸出與記錄。當使用者需要在測試中輸出診斷資訊、驗證記錄行為、或建立測試診斷工具時,請使用此技能。

6

dotnet-testing-unit-test-fundamentals

協助建立符合 FIRST 原則的 .NET 單元測試。當使用者要求建立單元測試、撰寫測試案例、詢問測試最佳實踐、或需要了解 3A Pattern (Arrange-Act-Assert) 時使用此技能。

6

dotnet-testing-autofixture-bogus-integration

協助整合 AutoFixture 與 Bogus 兩套測試資料產生工具。當使用者需要結合匿名測試資料與真實感語意化資料、建立混合產生器、設計 SpecimenBuilder 整合 Bogus、或建立測試資料工廠時使用此技能。

6

dotnet-testing-code-coverage-analysis

協助進行程式碼覆蓋率分析與報告解讀的完整指南。當使用者要求設定程式碼覆蓋率工具、產生覆蓋率報告、解讀覆蓋率數據,或詢問覆蓋率最佳實踐時使用此技能。

6

dotnet-testing

.NET 測試基礎技能總覽與引導中心。當使用者詢問「如何寫 .NET 測試」、「.NET 測試入門」、「需要哪些測試工具」、「測試最佳實踐」、「從零開始學測試」等一般性測試需求時觸發。會根據具體需求推薦適合的子技能組合,涵蓋測試基礎、測試資料、斷言、模擬、特殊場景等 19 個基礎技能。

5

dotnet-testing-advanced

.NET 進階測試技能總覽與引導中心。當使用者詢問「整合測試」、「API 測試」、「容器化測試」、「微服務測試」、「測試框架遷移」、「Testcontainers」、「Aspire 測試」等進階測試需求時觸發。會根據具體需求推薦適合的子技能組合,涵蓋整合測試、Testcontainers、Aspire 測試、框架升級等 8 個進階技能。

5

test-output-logging

1

autofixture-nsubstitute-integration

1

datetime-testing-timeprovider

1

xunit-upgrade-guide

1

testcontainers-nosql

1

aspnet-integration-testing

1

bogus-fake-data

1

testcontainers-database

1

aspire-testing

1

awesome-assertions-guide

1

private-internal-testing

1

test-data-builder-pattern

1

test-naming-conventions

1

xunit-project-setup

1

code-coverage-analysis

1

unit-test-fundamentals

1

autofixture-bogus-integration

1

filesystem-testing-abstractions

1