---
name: ProBat Testing
slug: probat-testing
category: Quality
description: ProBat Testing covers writing and running TLPP unit, functional, and integration tests with tlppCore’s native ProBat engine. Use it for fixtures, annotations, assertions, setup/teardown, and TDD or CI test workflows.
github: "https://github.com/thalysjuvenal/advpl-specialist/tree/main/skills/probat-testing"
language: Shell
stars: 186
forks: 37
install: "npx degit https://github.com/thalysjuvenal/advpl-specialist/tree/main/skills/probat-testing ~/.claude/skills/probat-testing"
installs_to: ~/.claude/skills/probat-testing
source_path: skills/probat-testing/SKILL.md
collection_size: 18
category_size: 1745
collection_url: "https://dirskills.com/collections/thalysjuvenal/advpl-specialist"
added: 2026-09-06T05:20:28.958Z
last_synced: 2026-09-06T05:20:28.958Z
canonical_url: "https://dirskills.com/skills/probat-testing"
---

# ProBat Testing

ProBat Testing covers writing and running TLPP unit, functional, and integration tests with tlppCore’s native ProBat engine. Use it for fixtures, annotations, assertions, setup/teardown, and TDD or CI test workflows.

**Install:**

```bash
npx degit https://github.com/thalysjuvenal/advpl-specialist/tree/main/skills/probat-testing ~/.claude/skills/probat-testing
```

## README

# ProBat Testing (TLPP)

This skill covers ProBat, the native unit/functional/integration testing engine of tlppCore, used exclusively with TLPP (`.tlpp`) source files -- even when the code under test is legacy `.prw`. It covers the required `#include "tlpp-probat.th"`, the `test.<module>` namespace convention, the full annotation set (`@TestFixture`, `@Test`, `@Setup`, `@TearDown`, `@OneTimeSetUp`, `@OneTimeTearDown`, `@Skip`, `@ErrorLog`), the `tlpp.probat` assertion functions, the class-based execution lifecycle, and `SKIPASSERT` for conditional assertion skipping.

Activate this skill when the user wants to create a new ProBat test fixture, add test methods to cover a routine, set up setup/teardown logic, or understand how ProBat discovers and executes tests (via REST API or the VSCode extension). Concrete test-writing templates live in the sibling patterns file.

It does not cover generating the production TLPP code being tested (see `advpl-code-generation`), reviewing code quality outside of tests (see `advpl-code-review`), or writing embedded SQL used inside test fixtures (see `embedded-sql`).

| Reference file | Read when |
|---|---|
| reference.md | Always -- includes, namespace convention, annotations, assertion function reference, execution lifecycle, and how tests are run |
| patterns-unit-tests.md | Writing a concrete ProBat test fixture and need ready-to-adapt templates/patterns |
