適用於 Openclaw 的 Temporal Python 測試

一個專門用於使用 pytest、時間跳躍和確定性驗證來測試 Temporal workflow 和 activity 的工具包。

wu-uk
v0.1.0
Apr 15, 2026
0
719
0

安裝與下載

1. ClawHub CLI

從來源直接安裝技能的最快方式。

npx clawhub@latest install fix-build-agentops-temporal-python-testing

2. 手動安裝

將技能資料夾複製到以下位置之一

全域模式
~/.openclaw/skills/
工作區
<project>/skills/

優先級:工作區 > 本地 > 內建

3. 提示詞安裝

將此提示詞複製到 OpenClaw 即可自動安裝。

請幫我使用 Clawhub 安裝 fix-build-agentops-temporal-python-testing。如果尚未安裝 Clawhub,請先安裝(npm i -g clawhub)。

想要直接下載?

取得包含原生技能檔案的ZIP壓縮檔。

什麼是 Temporal Python 測試?

Temporal Python 測試是一個全面的框架,旨在確保長期運行的 workflow 的可靠性和確定性。透過在開發流水線中利用 Openclaw Skills,您可以實施複雜的測試策略,範圍從隔離的單元測試到涉及模擬外部依賴的複雜集成場景。

該技能專注於漸進式披露的核心理念,允許開發人員存取特定的資源進行單元測試、activity 模擬和重放測試。這確保了長達數月的 workflow 可以在幾秒鐘內完成驗證,同時嚴格遵守 Temporal 的確定性要求,最終目標是實現 80% 或更高的生產就緒覆蓋率。

Temporal Python 測試 應用場景

  • 使用高級時間跳躍對 workflow 進行單元測試,以實現對長期運行邏輯的近乎即時的回饋。
  • 透過模擬外部服務來驗證複雜的多 activity 編排的集成測試。
  • 重放測試以防止非確定性更改破壞現有的生產 workflow 歷史記錄。
  • 使用 Docker 和 pytest 設置本地開發環境以實現快速迭代。
  • 自動化 CI/CD 流水線集成以強制執行品質門禁和邏輯覆蓋率。

Temporal Python 測試 運作原理

  1. 初始化 WorkflowEnvironment,使用時間跳躍在執行期間繞過現實世界的延遲。
  2. 配置 pytest fixtures 以管理 Temporal 測試伺服器和客戶端 worker 的生命週期。
  3. 在隔離狀態下或透過模擬 activity 執行 workflow,以驗證特定的邏輯路徑和邊界情況。
  4. 利用 ActivityEnvironment 來測試單個 activity 函數,而無需完整的 workflow 開銷。
  5. 針對匯出的生產 JSON 歷史記錄運行重放測試,以確保新代碼與現有狀態保持兼容。

Temporal Python 測試 設定指南

要將其集成到您的 workflow 中,請確保已安裝 Temporal Python SDK 和 pytest。這些 Openclaw Skills 需要一個功能正常的 Python 環境。

pip install temporalio pytest pytest-asyncio

配置您的 conftest.py 以包含標準的 Temporal 測試 fixtures 以進行環境管理。

Temporal Python 測試 資料結構與分類體系

該技能將其測試資源組織成一個用於漸進式披露的結構化分類法:

資源 檔案路徑 重點領域
單元測試 resources/unit-testing.md 時間跳躍、WorkflowEnvironment 和隔離測試
集成 resources/integration-testing.md Activity 模擬、錯誤注入和訊號/查詢驗證
重放 resources/replay-testing.md 確定性檢查和生產歷史記錄驗證
本地設置 resources/local-setup.md Docker Compose 和環境配置

Temporal Python 測試 進階特性

  • 用於對時間邏輯進行細粒度控制的手動時間推進模式。
  • 模擬網路故障或下游服務逾時的錯誤注入模式。
  • 用於防止分散式系統中破壞性更改的生產歷史記錄重放。
  • 用於模擬併發 workflow 之間複雜的訊號/查詢互動的多智慧體支援。

SKILL.md


加載中

Openclaw 相關技能

METADATA

Github Stars: 0
forks: 0

精選*