mutation-testing

mutation-testing

熱門

設定 mewt 或 muton 突變測試任務 — 定義目標範圍、調整逾時設定,並最佳化長時間執行的測試。當使用者提到 mewt、muton、突變測試,或想要設定或最佳化突變測試任務時使用。

6317星標
544分支
更新於 2026/7/28
SKILL.md
唯讀
名稱
mutation-testing
描述

設定 mewt 或 muton 突變測試任務 — 定義目標範圍、調整逾時設定,並最佳化長時間執行的測試。當使用者提到 mewt、muton、突變測試,或想要設定或最佳化突變測試任務時使用。

突變測試 — 任務設定 (mewt/muton)

注意:muton 和 mewt 使用相同的介面,但針對不同語言 — mewt 適用於通用語言 (Rust、Solidity、Go、TypeScript、JavaScript),muton 適用於 TON 智慧合約 (Tact、Tolk、FunC)。所有範例皆使用 mewt 指令,但與 muton 完全相同。檔案名稱會相應變更:mewt.tomlmuton.tomlmewt.sqlitemuton.sqlite

使用時機

當使用者符合以下情況時使用此技能:

  • 提到「mewt」、「muton」或「突變測試」
  • 需要設定或最佳化突變測試任務
  • 想要執行 mewt run 並需要協助先完成設定

不應使用的情況

當使用者符合以下情況時,請勿使用此技能:

  • 想要分析或報告已完成的任務結果
  • 詢問測試或涵蓋率但未提及突變測試

快速入門

載入 workflows/configuration.md — 從 mewt init 到驗證完成、準備執行的任務,共 5 個階段。

一般問題或不熟悉的指令?
執行 mewt --helpmewt <subcommand> --help,然後提供協助。


參考索引

檔案 內容
workflows/configuration.md 5 階段指南:初始化、範圍、最佳化、驗證、執行
references/optimization-strategies.md 每個檔案目標設定、兩階段任務、突變類型篩選

基本指令

# 初始化並產生突變
mewt init                    # 建立 mewt.toml 和 mewt.sqlite
mewt mutate [paths]          # 產生突變體但不執行測試
mewt run [paths]             # 執行完整任務

# 檢視設定與目標範圍
mewt print config            # 檢視有效設定
mewt print targets           # 所有目標檔案的表格
mewt print mutations --language [lang]  # 可用的突變類型
mewt status                  # 突變體數量及每個檔案的細項

# 調查特定突變體
mewt print mutants --target [path]   # 某檔案的所有突變體
mewt print mutants --severity high   # 依嚴重性篩選
mewt print mutant --id [id]          # 檢視突變程式碼差異
mewt test --ids [ids]                # 重新測試特定突變體

結果解讀

  • Caught/TestFail:測試偵測到突變(良好)
  • Uncaught:突變未被偵測 — 表示未測試到的邏輯
  • Timeout:測試花費過長時間,結果不明確
  • Skipped:同一行已有更嚴重的突變體失敗