Skills Plugins MCP Prompt Model 博客 我的中心
開発 #javascript #ai

mocha-skill

Generates Mocha tests in JavaScript with Chai assertions and Sinon mocking. Use when user mentions "Mocha", "Chai", "sinon", "describe/it (not Jest)". Triggers on: "Mocha", "Chai", "sinon", "mocha test".

DeepseekModel キュレーション済みスキル 品質 優秀 · 78 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-mocha-skill-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name mocha-skill description Generates Mocha tests in JavaScript with Chai assertions and Sinon mocking. Use when user mentions "Mocha", "Chai", "sinon", "describe/it (not Jest)". Triggers on: "Mocha", "Chai", "sinon", "mocha test". languages ["JavaScript","TypeScript"] category unit-testing license MIT metadata {"author":"TestMu AI","version":"1.0"} Mocha Testing Skill Core Patterns Basic Test with Chai const { expect } = require ( 'chai' ); describe ( 'Calculator' , () => { let calc; beforeEach ( () => { calc = new Calculator (); }); it ( 'should add two numbers' , () => { expect (calc. add ( 2 , 3 )). to . equal ( 5 ); }); it ( 'should throw on divide by zero' , () => { expect ( () => calc. divide ( 10 , 0 )). to . throw ( 'Division by zero' ); }); }); Chai Assertions expect (value). to . equal ( 5 ); expect (arr). to . have . lengthOf ( 3 ); expect (obj). to . have . property ( 'name' ); expect (str). to . include ( 'hello' ); expect (fn). to . throw ( Error ); expect (arr). to . deep . equal ([ 1 , 2 , 3 ]); expect (obj). to . deep . include ({ name : 'Alice' }); Sinon Mocking const sinon = require ( 'sinon' ); describe ( 'UserService' , () => { let sandbox; beforeEach ( () => { sandbox = sinon. createSandbox (); }); afterEach ( () => { sandbox. restore (); }); it ( 'fetches user from API' , async () => { const stub = sandbox. stub (api, 'get' ). resolves ({ name : 'Alice' }); const user = await userService. getUser ( 1 ); expect (user. name ). to . equal ( 'Alice' ); expect (stub. calledOnce ). to . be . true ; }); }); Async Testing it ( 'should fetch data' , async () => { const data = await fetchData (); expect (data). to . have . property ( 'id' ); }); it ( 'callback style' , ( done ) => { fetchData ( ( err, data ) => { expect (err). to . be . null ; done (); }); }); Anti-Patterns Bad Good Why Missing done() Use async/await Hanging tests No sandbox sinon.createSandbox() Stubs leak Arrow in describe Regular function for this.timeout() Context Quick Reference Task Command Run all npx mocha Watch npx mocha --watch Grep npx mocha --grep "login" Timeout npx mocha --timeout 10000 Recursive npx mocha --recursive Setup: npm install mocha chai sinon --save-dev Deep Patterns → reference/playbook.md § Section Lines 1 Production Configuration mocharc, NYC coverage, TypeScript 2 Testing with Chai + Sinon Stubs, spies, assertions 3 Advanced Sinon Patterns Fake timers, nock HTTP, sequential 4 Async Patterns Promise, await, callback, events 5 Hooks & Test Organization Lifecycle, nesting, grep tags 6 Custom Reporters & Plugins Reporter class, root hooks 7 Express/API Testing Supertest integration 8 CI/CD Integration GitHub Actions, services 9 Debugging Quick-Reference 10 common problems 10 Best Practices Checklist 13 items
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。