Odoo test writer
Agent skills for Odoo addon development and OCA module migration
npx -y skills add mart337i/odoo-skills --skill odoo-test-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 16 stars16 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create and improve Odoo custom module tests using the Odoo test framework. Use when the user asks to add tests, create TransactionCase/HttpCase tests, test Odoo business logic, mock external APIs, use Form helper, test access rules, test workflows, or improve Odoo test coverage.
SKILL.md
3.4 KB, 747 tokens by cl100k_base, as published. Nobody here has run it
Odoo Test Writer
Use this skill to add practical tests for Odoo custom modules. Prefer tests at the Odoo behavior seam: ORM flows, constraints, computes, access rules, controllers, reports, forms, workflows, and integration boundaries.
First Move
Before writing tests:
- Identify the addon/module and target Odoo version.
- Inspect
__manifest__.py,models/,views/,security/,controllers/,report/,static/src/, existingtests/, and relevant docs. - If
$ODOO_SOURCEis set, inspect local test helpers and framework behavior instead of guessing.
Choose The Test Type
- Use
TransactionCasefor most model/business-logic tests. Each test runs in a savepoint and rolls back. - Use
AccountTestInvoicingCommonfor accounting tests needing companies, products, partners, taxes, journals, or invoices. - Use
Formhelper when testing default values, onchanges, form validations, One2many/Many2many form behavior, or user-like form flows. - Use
HttpCasefor browser, tour, website, portal, controller, or full UI flows. - Use
SingleTransactionCaseonly for read-only suites or expensive setup where cross-test state is acceptable. - Use
unittest.mock.patch/MagicMockfor external APIs, payment gateways, OAuth, webhooks, file system, time, or slow services. Do not mock Odoo internals unless there is no better seam.
Required Structure
your_module/
├── __init__.py # Do not import tests here
├── __manifest__.py
├── tests/
│ ├── __init__.py # Import test modules here
│ ├── common.py # Optional shared fixtures/helpers
│ └── test_*.py # Test files
Every new test_*.py must be imported from tests/__init__.py, or the Odoo test runner will not discover it.
Writing Workflow
- Map the behavior to prove and the smallest Odoo seam that proves it.
- Add or update
tests/common.pyonly for reusable fixtures/helpers. - Create fresh mutable records inside each test unless immutable setup belongs in
setUpClass. - Use Arrange, Act, Assert sections in test method body.
- Test happy path, validation/error path, and relevant side effects.
- For access/security changes, test realistic users/groups/companies with
with_user(). - For external integrations, patch the boundary where it is used, then assert both state changes and mock calls.
- For performance-sensitive code, add
assertQueryCountwhen supported by the target version/test base. - Update
tests/__init__.pyand manifest dependencies only when evidence requires it.
Tags
Default pattern for post-install module tests:
from odoo.tests import tagged
@tagged("post_install", "-at_install")
class TestYourFeature(YourModuleTestCommon):
pass
References
- See ODOO-TESTING-SOP.md for the SOP, terminology, tags, and troubleshooting.
- See ODOO-TESTING-EXAMPLES.md for ready-to-adapt test patterns.
- Compose with
odoo-code-tracerwhen you need to trace the behavior before writing tests. - Compose with
odoo-code-reviewwhen reviewing test coverage or test quality.
What ships with it: 2 files
14.8 KB alongside SKILL.md
- ODOO-TESTING-EXAMPLES.md7.4 KB
- ODOO-TESTING-SOP.md7.4 KB
Gives 0 of the 12 instructions most docs writing skills give in 747 tokens
Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-07
- Announce the skill at startin 54 of 1637, across 26 files
- Convert legacy doc files before editingin 45 of 1637, across 7 files
- Predict questions readers might askin 42 of 1637, across 4 files
- Generate clarifying questions for initial contextin 42 of 1637, across 3 files
- Create document scaffold with placeholder textin 42 of 1637, across 3 files
- Brainstorm content options for each sectionin 42 of 1637, across 3 files
- Test the document with a fresh context-less instancein 42 of 1637, across 3 files
- Include exact file paths in every taskin 42 of 1637, across 15 files
- Ask interview questions one at a timein 42 of 1637, across 27 files
- Apply surgical edits during refinementin 41 of 1637, across 2 files
- Offer structured workflow or freeformin 40 of 1637, across 1 file
- Ask for document meta-contextin 40 of 1637, across 2 files
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.