frappe-testing-unit

Creates unit and integration tests for Frappe apps using bench run-tests.

163|53|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package --skill frappe-testing-unit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-testing-unit
Source: https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package/tree/main/skills/source/testing/frappe-testing-unit
Command: npx skills add https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package --skill frappe-testing-unit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Writing robust unit and integration tests for Frappe apps to prevent flaky tests and ensure correct test fixtures and base classes.

Core Features & Use Cases

  • Supports UnitTestCase and IntegrationTestCase usage for consistent testing patterns across v14–v16.
  • Provides comprehensive test utilities and fixture loading strategies to ensure reliable test isolation.
  • Documents standard naming conventions and fixture practices to streamline test discovery and maintenance.

Quick Start

Write tests using IntegrationTestCase or UnitTestCase and run them with bench run-tests.

Frequently Asked Questions about frappe-testing-unit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write reliable Frappe unit tests that don't break across v14–v16?

Reliable Frappe unit tests use consistent base classes like UnitTestCase and IntegrationTestCase across v14–v16. Standard naming conventions and proper fixture loading ensure test isolation and prevent flaky results when running bench run-tests.

What's the best way to load test fixtures in Frappe integration testing?

Loading test fixtures in Frappe integration testing requires comprehensive test utilities and fixture loading strategies. Using IntegrationTestCase ensures reliable test isolation and correct data setup for consistent bench run-tests execution.

When do I need IntegrationTestCase vs UnitTestCase in Frappe app development?

Use IntegrationTestCase for Frappe integration testing with database dependencies, and UnitTestCase for isolated logic testing. Both base classes provide consistent testing patterns across Frappe v14–v16, ensuring proper test discovery and reliable execution.

Does bench run-tests support custom test harnesses and fixture loading strategies?

Yes, bench run-tests supports custom test harnesses and fixture loading strategies for Frappe apps. The framework provides comprehensive test utilities that enable reliable test isolation and consistent fixture practices across v14–v16.

Why are my Frappe tests flaky and how can I prevent fixture isolation issues?

Flaky Frappe tests often stem from incorrect test fixtures and improper base class usage. Using UnitTestCase or IntegrationTestCase with documented fixture practices and reliable loading strategies ensures test isolation and prevents flakiness.

Can I use standard naming conventions for test discovery in Frappe bench run-tests?

Yes, standard naming conventions streamline test discovery and maintenance in Frappe. bench run-tests recognizes properly named test files using UnitTestCase and IntegrationTestCase patterns, ensuring consistent execution across v14–v16.