Generate test assertions from existing code implementation. Use when the user has implementation code without tests or incomplete test coverage, and needs assertions synthesized by analyzing the code's behavior, inputs, outputs, and state changes. Supports Python (pytest/unittest), Java (JUnit/AssertJ), and JavaScript/TypeScript (Jest/Chai). Handles equality checks, collections, exceptions, and state verification.
Install with Tessl CLI
npx tessl i github:ArabelaTso/Skills-4-SE --skill assertion-synthesizer86
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Python pytest assertion patterns
Arrange-Act-Assert structure
0%
75%
Descriptive test names
100%
100%
pytest.raises with match parameter
100%
100%
Initial state assertion
100%
100%
Post-operation state assertion
100%
100%
Parametrize decorator used
0%
100%
Boundary and empty cases
100%
100%
All error paths covered
100%
100%
Collection length assertion
42%
100%
Collection membership assertion
100%
100%
Specific equality assertions
100%
100%
Exception message asserted
100%
100%
Without context: $0.6534 · 5m 40s · 31 turns · 39 in / 8,433 out tokens
With context: $0.6989 · 4m 52s · 27 turns · 285 in / 8,473 out tokens
JavaScript/TypeScript Jest assertion patterns
toBe or toEqual for value equality
100%
100%
toContain for membership
0%
100%
toHaveLength for array length
100%
100%
toThrow with message string
100%
100%
describe blocks for grouping
100%
100%
Single behavior per test
85%
85%
All throw paths tested
100%
100%
Sorted/ordered result asserted
100%
100%
Empty state tested
100%
100%
Post-mutation state tested
100%
100%
Boolean result tested
100%
100%
Multiple tag sources in getAllTags
100%
100%
Without context: $0.4791 · 5m 15s · 24 turns · 30 in / 7,795 out tokens
With context: $0.5409 · 4m 36s · 21 turns · 183 in / 7,674 out tokens
Java JUnit AssertJ assertion patterns
assertThat fluent equality
100%
100%
assertThat list contains
100%
100%
assertThat list size
0%
0%
assertThatThrownBy with isInstanceOf
100%
100%
hasMessage chained on assertThatThrownBy
100%
100%
assertThat boolean matchers
100%
100%
Explanatory phase comments
62%
25%
All exception paths covered
100%
100%
Empty cart state tested
100%
100%
List membership and size both asserted
0%
0%
Multiple exception classes tested
100%
100%
Numeric calculation asserted
100%
100%
Without context: $0.2947 · 2m 29s · 12 turns · 14 in / 5,711 out tokens
With context: $0.4207 · 2m 24s · 15 turns · 268 in / 6,370 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.