Token导航 LogoToken导航TokenDH.com
AI 工具需要联网github未标认证来源可访问clear审计通过

dotnet-testing-test-naming-conventionsdotnet 测试 测试命名约定

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

636

周安装

26

GitHub Stars

24

下载量

206
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dotnet-testing-test-naming-conventions(dotnet 测试 测试命名约定)
来源仓库:https://github.com/kevintsengtw/dotnet-testing-agent-skills
仓库路径:skills/dotnet-testing-test-naming-conventions
安装命令:
npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --skill dotnet-testing-test-naming-conventions
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --skill dotnet-testing-test-naming-conventions

简介

提供 .NET 测试方法的三段式命名规范指南。

  • 支持中英文命名风格,统一测试用例描述结构。
  • 帮助团队编写清晰、可检索的测试名称,便于维护。
  • 命名格式为方法名_输入条件_预期结果,提升可读性。
  • dotnet-testing-test-naming-conventions 属于AI 工具类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

.NET 測試命名規範指南

測試方法命名規範

標準格式

使用底線分隔的三段式命名法:

[被測試方法名稱]_[測試情境/輸入條件]_[預期行為/結果]

各段說明

區段說明範例
被測試方法名稱正在測試的方法名稱AddProcessOrderIsValidEmail
測試情境/輸入條件描述測試的前置條件或輸入輸入1和2輸入null輸入有效訂單
預期行為/結果描述預期的輸出或行為應回傳3應拋出Exception應回傳True

命名範例對照表

好的命名 vs 不好的命名

三段式命名可以使用中文或英文,依團隊慣例選擇。以下同時展示兩種風格:

不好的命名中文命名(推薦)英文命名原因
TestAddAdd_輸入1和2_應回傳3Add_WhenGiven1And2_ShouldReturn3清楚說明測試情境與預期結果
Test1Add_輸入負數和正數_應回傳正確結果Add_WhenGivenNegativeAndPositive_ShouldReturnCorrectResult有意義的描述
EmailTestIsValidEmail_輸入有效Email_應回傳TrueIsValidEmail_WhenValidEmail_ShouldReturnTrue完整的三段式命名
OrderTestProcessOrder_輸入null_應拋出ArgumentNullExceptionProcessOrder_WhenNull_ShouldThrowArgumentNullException明確的例外情境

實際範例

基本運算測試

// ✅ 正常路徑測試
[Fact]
public void Add_輸入1和2_應回傳3()

// ✅ 邊界條件測試
[Fact]
public void Add_輸入0和0_應回傳0()

// ✅ 負數測試
[Fact]
public void Add_輸入負數和正數_應回傳正確結果()

驗證邏輯測試

// ✅ 有效輸入測試
[Fact]
public void IsValidEmail_輸入有效Email_應回傳True()

// ✅ 無效輸入 - null
[Fact]
public void IsValidEmail_輸入null值_應回傳False()

// ✅ 無效輸入 - 空字串
[Fact]
public void IsValidEmail_輸入空字串_應回傳False()

// ✅ 無效輸入 - 格式錯誤
[Fact]
public void IsValidEmail_輸入無效Email格式_應回傳False()

業務邏輯測試

// ✅ 處理流程測試
[Fact]
public void ProcessOrder_輸入有效訂單_應回傳處理後訂單()

// ✅ 例外處理測試
[Fact]
public void ProcessOrder_輸入null_應拋出ArgumentNullException()

// ✅ 格式化測試
[Fact]
public void GetOrderNumber_輸入有效訂單_應回傳格式化訂單號碼()

計算邏輯測試

// ✅ 正常計算
[Fact]
public void Calculate_輸入100元和10Percent折扣_應回傳90元()

// ✅ 無效輸入 - 負數
[Fact]
public void Calculate_輸入負數價格_應拋出ArgumentException()

// ✅ 邊界值測試
[Fact]
public void Calculate_輸入0元價格_應正常處理()

// ✅ 含稅計算
[Fact]
public void CalculateWithTax_輸入100元和5Percent稅率_應回傳105元()

狀態變化測試

// ✅ 初始狀態測試
[Fact]
public void Increment_從0開始_應回傳1()

// ✅ 連續操作測試
[Fact]
public void Increment_從0開始連續兩次_應回傳2()

// ✅ 重設測試
[Fact]
public void Reset_從任意值_應回傳0()

測試類別命名規範

標準格式

[被測試類別名稱]Tests

範例

被測試類別測試類別名稱
CalculatorCalculatorTests
OrderServiceOrderServiceTests
EmailHelperEmailHelperTests
PriceCalculatorPriceCalculatorTests

類別結構範本

namespace MyProject.Tests;

/// <summary>
/// class CalculatorTests - Calculator 測試類別
/// </summary>
public class CalculatorTests
{
    private readonly Calculator _calculator;

    public CalculatorTests()
    {
        _calculator = new Calculator();
    }

    //---------------------------------------------------------------------------------------------
    // Add 方法測試

    [Fact]
    public void Add_輸入1和2_應回傳3()
    {
        // ...
    }

    //---------------------------------------------------------------------------------------------
    // Divide 方法測試

    [Fact]
    public void Divide_輸入10和2_應回傳5()
    {
        // ...
    }
}

參數化測試命名

使用 [Theory] 時的命名規範:

// ✅ 使用「各種」表示多組測試資料
[Theory]
[InlineData(1, 2, 3)]
[InlineData(-1, 1, 0)]
[InlineData(0, 0, 0)]
public void Add_輸入各種數值組合_應回傳正確結果(int a, int b, int expected)

// ✅ 使用「有效」表示正向測試
[Theory]
[InlineData("test@example.com")]
[InlineData("user.name@domain.org")]
public void IsValidEmail_輸入有效Email格式_應回傳True(string validEmail)

// ✅ 使用「無效」表示負向測試
[Theory]
[InlineData("invalid-email")]
[InlineData("@example.com")]
public void IsValidEmail_輸入無效Email格式_應回傳False(string invalidEmail)

常用情境詞彙

輸入條件詞彙

詞彙使用情境
輸入一般輸入參數
給定Given-When-Then 風格
事件觸發
從...開始初始狀態描述

預期結果詞彙

詞彙使用情境
應回傳有回傳值
應拋出預期例外
應為狀態驗證
應包含集合驗證
應正常處理邊界條件

命名檢查清單

為測試方法命名時,請確認:

  • 使用三段式命名 方法_情境_預期
  • 情境描述清楚明確
  • 預期結果具體可驗證
  • 使用中文增加可讀性
  • 避免模糊詞彙如 Test1TestMethod
  • 參數化測試使用「各種」、「有效」、「無效」等詞彙

測試報告可讀性

好的命名會讓測試報告更易讀:

PASS CalculatorTests
   PASS Add_輸入1和2_應回傳3
   PASS Add_輸入負數和正數_應回傳正確結果
   FAIL Divide_輸入10和0_應拋出DivideByZeroException

PASS EmailHelperTests
   PASS IsValidEmail_輸入有效Email_應回傳True
   PASS IsValidEmail_輸入null值_應回傳False

輸出格式

  • 使用三段式命名法:[方法名稱]_[測試情境]_[預期行為]
  • 測試類別命名為 {被測類別}Tests
  • 情境描述使用中文以提升可讀性
  • 參數化測試使用「各種」、「有效」、「無效」等詞彙

參考資源

請參考同目錄下的範例檔案:

原始文章

本技能內容提煉自「老派軟體工程師的測試修練 - 30 天挑戰」系列文章:

  • Day 01 - 老派工程師的測試啟蒙

- 鐵人賽文章:https://ithelp.ithome.com.tw/articles/10373888 - 範例程式碼:https://github.com/kevintsengtw/30Days_in_Testing_Samples/tree/main/day01

相關技能

  • dotnet-testing-unit-test-fundamentals - 單元測試基礎
  • dotnet-testing-xunit-project-setup - xUnit 專案設定

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.54%
按下载量换算57

Gemini CLI

22.36%
按下载量换算46

Antigravity

16.79%
按下载量换算35

OpenCode

12.43%
按下载量换算26

windsurf

8.67%
按下载量换算18

github-copilot

3.64%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills