ace-test 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ace-defaults/nav/protocols/agent-sources/ace-test.yml +19 -0
- data/.ace-defaults/nav/protocols/guide-sources/ace-test.yml +19 -0
- data/.ace-defaults/nav/protocols/tmpl-sources/ace-test.yml +11 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-test.yml +19 -0
- data/CHANGELOG.md +169 -0
- data/LICENSE +21 -0
- data/README.md +40 -0
- data/Rakefile +12 -0
- data/handbook/agents/mock.ag.md +164 -0
- data/handbook/agents/profile-tests.ag.md +132 -0
- data/handbook/agents/test.ag.md +99 -0
- data/handbook/guides/SUMMARY.md +95 -0
- data/handbook/guides/embedded-testing-guide.g.md +261 -0
- data/handbook/guides/mocking-patterns.g.md +464 -0
- data/handbook/guides/quick-reference.g.md +46 -0
- data/handbook/guides/test-driven-development-cycle/meta-documentation.md +26 -0
- data/handbook/guides/test-driven-development-cycle/ruby-application.md +18 -0
- data/handbook/guides/test-driven-development-cycle/ruby-gem.md +19 -0
- data/handbook/guides/test-driven-development-cycle/rust-cli.md +18 -0
- data/handbook/guides/test-driven-development-cycle/rust-wasm-zed.md +19 -0
- data/handbook/guides/test-driven-development-cycle/typescript-nuxt.md +18 -0
- data/handbook/guides/test-driven-development-cycle/typescript-vue.md +19 -0
- data/handbook/guides/test-layer-decision.g.md +261 -0
- data/handbook/guides/test-mocking-patterns.g.md +414 -0
- data/handbook/guides/test-organization.g.md +140 -0
- data/handbook/guides/test-performance.g.md +353 -0
- data/handbook/guides/test-responsibility-map.g.md +220 -0
- data/handbook/guides/test-review-checklist.g.md +231 -0
- data/handbook/guides/test-suite-health.g.md +337 -0
- data/handbook/guides/testable-code-patterns.g.md +315 -0
- data/handbook/guides/testing/ruby-rspec-config-examples.md +120 -0
- data/handbook/guides/testing/ruby-rspec.md +87 -0
- data/handbook/guides/testing/rust.md +52 -0
- data/handbook/guides/testing/test-maintenance.md +364 -0
- data/handbook/guides/testing/typescript-bun.md +47 -0
- data/handbook/guides/testing/vue-firebase-auth.md +546 -0
- data/handbook/guides/testing/vue-vitest.md +236 -0
- data/handbook/guides/testing-philosophy.g.md +82 -0
- data/handbook/guides/testing-strategy.g.md +151 -0
- data/handbook/guides/testing-tdd-cycle.g.md +146 -0
- data/handbook/guides/testing.g.md +170 -0
- data/handbook/skills/as-test-create-cases/SKILL.md +24 -0
- data/handbook/skills/as-test-fix/SKILL.md +26 -0
- data/handbook/skills/as-test-improve-coverage/SKILL.md +22 -0
- data/handbook/skills/as-test-optimize/SKILL.md +34 -0
- data/handbook/skills/as-test-performance-audit/SKILL.md +34 -0
- data/handbook/skills/as-test-plan/SKILL.md +34 -0
- data/handbook/skills/as-test-review/SKILL.md +34 -0
- data/handbook/skills/as-test-verify-suite/SKILL.md +45 -0
- data/handbook/templates/e2e-sandbox-checklist.template.md +289 -0
- data/handbook/templates/test-case.template.md +56 -0
- data/handbook/templates/test-performance-audit.template.md +132 -0
- data/handbook/templates/test-responsibility-map.template.md +92 -0
- data/handbook/templates/test-review-checklist.template.md +163 -0
- data/handbook/workflow-instructions/test/analyze-failures.wf.md +120 -0
- data/handbook/workflow-instructions/test/create-cases.wf.md +675 -0
- data/handbook/workflow-instructions/test/fix.wf.md +120 -0
- data/handbook/workflow-instructions/test/improve-coverage.wf.md +370 -0
- data/handbook/workflow-instructions/test/optimize.wf.md +368 -0
- data/handbook/workflow-instructions/test/performance-audit.wf.md +17 -0
- data/handbook/workflow-instructions/test/plan.wf.md +323 -0
- data/handbook/workflow-instructions/test/review.wf.md +16 -0
- data/handbook/workflow-instructions/test/verify-suite.wf.md +343 -0
- data/lib/ace/test/version.rb +7 -0
- data/lib/ace/test.rb +10 -0
- metadata +152 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: workflow
|
|
3
|
+
title: Verify Test Suite Workflow
|
|
4
|
+
purpose: Maintain healthy test suites through systematic verification
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-02-22
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Verify Test Suite Workflow
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Systematically audit test suite health to identify:
|
|
15
|
+
- Slow tests that should be optimized or moved to E2E
|
|
16
|
+
- Zombie mocks that don't test real behavior
|
|
17
|
+
- Tests at wrong layer
|
|
18
|
+
- Coverage gaps
|
|
19
|
+
- Flaky tests
|
|
20
|
+
|
|
21
|
+
## When to Use
|
|
22
|
+
|
|
23
|
+
- Monthly full audit (scheduled)
|
|
24
|
+
- Before major releases
|
|
25
|
+
- After significant refactoring
|
|
26
|
+
- When test suite feels "slow"
|
|
27
|
+
- When bugs escape to production
|
|
28
|
+
|
|
29
|
+
## Scope Levels
|
|
30
|
+
|
|
31
|
+
| Scope | Duration | What It Checks |
|
|
32
|
+
|-------|----------|----------------|
|
|
33
|
+
| quick | ~2 min | Performance profile only |
|
|
34
|
+
| standard | ~10 min | Performance + zombie detection + layer check |
|
|
35
|
+
| deep | ~30 min | All checks + coverage + flakiness |
|
|
36
|
+
|
|
37
|
+
## Workflow Steps
|
|
38
|
+
|
|
39
|
+
### Step 1: Performance Profile
|
|
40
|
+
|
|
41
|
+
Run tests with profiling:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Single package
|
|
45
|
+
ace-test <package> --profile 20
|
|
46
|
+
|
|
47
|
+
# Full monorepo
|
|
48
|
+
ace-test-suite --profile
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Collect**:
|
|
52
|
+
- Total suite time
|
|
53
|
+
- Slowest 20 tests
|
|
54
|
+
- Tests exceeding thresholds
|
|
55
|
+
|
|
56
|
+
**Thresholds**:
|
|
57
|
+
| Test Type | Warning | Critical |
|
|
58
|
+
|-----------|---------|----------|
|
|
59
|
+
| Unit (atoms) | >50ms | >100ms |
|
|
60
|
+
| Unit (molecules) | >100ms | >200ms |
|
|
61
|
+
| Integration | >1s | >2s |
|
|
62
|
+
|
|
63
|
+
### Step 2: Identify Threshold Violations
|
|
64
|
+
|
|
65
|
+
Parse profile output:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Extract tests exceeding 100ms
|
|
69
|
+
ace-test --profile 20 | grep -E "[0-9]+\.[1-9][0-9][0-9]s|[1-9]\.[0-9]+s"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
For each violation, classify:
|
|
73
|
+
|
|
74
|
+
| Test | Time | Category | Action |
|
|
75
|
+
|------|------|----------|--------|
|
|
76
|
+
| test_complex_validation | 156ms | Unit | Investigate stub |
|
|
77
|
+
| test_cli_output_format | 890ms | Integration | Consider E2E |
|
|
78
|
+
| test_full_workflow | 2.3s | E2E | OK if intentional |
|
|
79
|
+
|
|
80
|
+
### Step 3: Zombie Mock Detection (standard+)
|
|
81
|
+
|
|
82
|
+
For each slow unit test, verify stubs are actually used:
|
|
83
|
+
|
|
84
|
+
```ruby
|
|
85
|
+
# Test methodology:
|
|
86
|
+
# 1. Change stub return value to something obviously wrong
|
|
87
|
+
# 2. Run test
|
|
88
|
+
# 3. If test still passes, stub is zombie
|
|
89
|
+
|
|
90
|
+
# Example check:
|
|
91
|
+
Runner.stub(:run, "ZOMBIE_CHECK_VALUE_12345") do
|
|
92
|
+
result = subject.lint(file)
|
|
93
|
+
# If result doesn't contain ZOMBIE_CHECK_VALUE, stub is zombie
|
|
94
|
+
end
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Indicators of zombie mocks**:
|
|
98
|
+
- Slow test with stubs that should make it fast
|
|
99
|
+
- Stub method name doesn't exist in current code
|
|
100
|
+
- Test passes regardless of stub return value
|
|
101
|
+
|
|
102
|
+
### Step 3b: Implementation Subprocess Detection
|
|
103
|
+
|
|
104
|
+
For each slow molecule test (>100ms):
|
|
105
|
+
|
|
106
|
+
1. **Identify the class under test** from the test filename:
|
|
107
|
+
```bash
|
|
108
|
+
# test/molecules/feedback_extractor_test.rb tests:
|
|
109
|
+
# lib/<package>/molecules/feedback_extractor.rb
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
2. **Search implementation for subprocess patterns**:
|
|
113
|
+
```bash
|
|
114
|
+
# Search for backticks, system(), Open3, IO.popen in the source file
|
|
115
|
+
grep -E '`[^`]+`|system\(|Open3\.|IO\.popen' lib/*/molecules/feedback_extractor.rb
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
3. **For each subprocess found**, verify it's stubbed in the test:
|
|
119
|
+
- Check if test uses `stub_prompt_path`, `stub(:available?)`, or similar
|
|
120
|
+
- If not stubbed → **Layer Violation: unstubbed subprocess**
|
|
121
|
+
|
|
122
|
+
**Common subprocess patterns to search for**:
|
|
123
|
+
| Pattern | Typical Cost | Standard Stub |
|
|
124
|
+
|---------|-------------|---------------|
|
|
125
|
+
| `` `ace-nav ...` `` | ~200ms | `stub_prompt_path(object)` |
|
|
126
|
+
| `` `git ...` `` | ~100ms | MockGitRepo or stub |
|
|
127
|
+
| `Open3.capture3` | ~150ms | Stub `:capture3` |
|
|
128
|
+
| `system("...")` | ~100ms | Stub `:system` |
|
|
129
|
+
|
|
130
|
+
### Step 4: Layer Classification Audit (standard+)
|
|
131
|
+
|
|
132
|
+
For each test file, verify it's at the correct layer:
|
|
133
|
+
|
|
134
|
+
**Check atoms/ tests**:
|
|
135
|
+
- [ ] No subprocess calls (Open3, system)
|
|
136
|
+
- [ ] No filesystem operations (except temp files)
|
|
137
|
+
- [ ] No network calls
|
|
138
|
+
- [ ] No git operations
|
|
139
|
+
- [ ] Test time <50ms each
|
|
140
|
+
|
|
141
|
+
**Check molecules/ tests**:
|
|
142
|
+
- [ ] Subprocess calls are stubbed:
|
|
143
|
+
- [ ] Search SOURCE file for: backticks, system(), Open3, IO.popen
|
|
144
|
+
- [ ] Each subprocess has corresponding stub in test
|
|
145
|
+
- [ ] Network calls use WebMock
|
|
146
|
+
- [ ] Git uses MockGitRepo or stubs
|
|
147
|
+
- [ ] Test time <200ms each
|
|
148
|
+
|
|
149
|
+
**Check organisms/ tests**:
|
|
150
|
+
- [ ] At most ONE real CLI test per file
|
|
151
|
+
- [ ] Integration points mocked appropriately
|
|
152
|
+
- [ ] Test time <1s each
|
|
153
|
+
|
|
154
|
+
**Check e2e/ tests**:
|
|
155
|
+
- [ ] Actually tests user workflow
|
|
156
|
+
- [ ] Uses real dependencies
|
|
157
|
+
- [ ] Has PASS/FAIL assertions
|
|
158
|
+
|
|
159
|
+
### Step 5: Coverage Analysis (deep)
|
|
160
|
+
|
|
161
|
+
Generate coverage report:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
COVERAGE=true ace-test-suite
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Analyze**:
|
|
168
|
+
- Overall coverage percentage
|
|
169
|
+
- Coverage by package
|
|
170
|
+
- Uncovered critical paths
|
|
171
|
+
- Trend vs previous audit
|
|
172
|
+
|
|
173
|
+
**Focus areas**:
|
|
174
|
+
- Business logic (organisms)
|
|
175
|
+
- Error handling paths
|
|
176
|
+
- Edge cases in data processing
|
|
177
|
+
|
|
178
|
+
### Step 6: Flakiness Detection (deep)
|
|
179
|
+
|
|
180
|
+
Run tests multiple times:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
for i in {1..5}; do
|
|
184
|
+
ace-test-suite --quiet 2>&1 | grep -E "FAIL|ERROR" >> flaky-check.txt
|
|
185
|
+
done
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Identify**:
|
|
189
|
+
- Tests that fail inconsistently
|
|
190
|
+
- Tests with timing dependencies
|
|
191
|
+
- Tests with order dependencies
|
|
192
|
+
|
|
193
|
+
### Step 7: Generate Report
|
|
194
|
+
|
|
195
|
+
Compile findings into health report:
|
|
196
|
+
|
|
197
|
+
```markdown
|
|
198
|
+
# Test Suite Health Report
|
|
199
|
+
|
|
200
|
+
**Date**: YYYY-MM-DD
|
|
201
|
+
**Scope**: standard
|
|
202
|
+
**Packages Audited**: N
|
|
203
|
+
|
|
204
|
+
## Executive Summary
|
|
205
|
+
|
|
206
|
+
- Overall Health: [Good | Warning | Critical]
|
|
207
|
+
- Tests: N total, N passing
|
|
208
|
+
- Performance: [OK | N violations]
|
|
209
|
+
- Zombie Mocks: [None | N detected]
|
|
210
|
+
|
|
211
|
+
## Performance
|
|
212
|
+
|
|
213
|
+
### Threshold Violations
|
|
214
|
+
|
|
215
|
+
| Package | Test | Time | Action |
|
|
216
|
+
|---------|------|------|--------|
|
|
217
|
+
| ace-lint | test_complex_validation | 156ms | Stub subprocess |
|
|
218
|
+
| ace-git | test_diff_with_large_file | 1.2s | Move to E2E |
|
|
219
|
+
|
|
220
|
+
### Package Summary
|
|
221
|
+
|
|
222
|
+
| Package | Tests | Time | Status |
|
|
223
|
+
|---------|-------|------|--------|
|
|
224
|
+
| ace-lint | 45 | 1.2s | OK |
|
|
225
|
+
| ace-git | 78 | 8.5s | Warning |
|
|
226
|
+
|
|
227
|
+
## Zombie Mocks Detected
|
|
228
|
+
|
|
229
|
+
| Package | Test | Stub | Issue |
|
|
230
|
+
|---------|------|------|-------|
|
|
231
|
+
| ace-docs | test_change_detection | execute_git_command | Method renamed to generate |
|
|
232
|
+
|
|
233
|
+
## Layer Issues
|
|
234
|
+
|
|
235
|
+
| Package | Test | Current | Should Be |
|
|
236
|
+
|---------|------|---------|-----------|
|
|
237
|
+
| ace-lint | test_cli_verbose_flag | atoms | integration |
|
|
238
|
+
|
|
239
|
+
## Coverage (if deep)
|
|
240
|
+
|
|
241
|
+
| Package | Coverage | Trend |
|
|
242
|
+
|---------|----------|-------|
|
|
243
|
+
| ace-lint | 87% | +2% |
|
|
244
|
+
| ace-git | 72% | -1% |
|
|
245
|
+
|
|
246
|
+
### Uncovered Critical Paths
|
|
247
|
+
- ace-git: error handling in rebase
|
|
248
|
+
- ace-lint: doctor --fix path
|
|
249
|
+
|
|
250
|
+
## Flaky Tests (if deep)
|
|
251
|
+
|
|
252
|
+
| Package | Test | Failure Rate |
|
|
253
|
+
|---------|------|--------------|
|
|
254
|
+
| ace-git | test_concurrent_access | 20% (1/5) |
|
|
255
|
+
|
|
256
|
+
## Action Items
|
|
257
|
+
|
|
258
|
+
### Immediate (this week)
|
|
259
|
+
1. [ ] Fix zombie mock in ace-docs
|
|
260
|
+
2. [ ] Move ace-git slow test to E2E
|
|
261
|
+
|
|
262
|
+
### Short-term (this month)
|
|
263
|
+
3. [ ] Add stubs to ace-lint violations
|
|
264
|
+
4. [ ] Investigate ace-git flaky test
|
|
265
|
+
|
|
266
|
+
### Long-term (this quarter)
|
|
267
|
+
5. [ ] Improve coverage in ace-git error handling
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Step 8: Create Tasks
|
|
271
|
+
|
|
272
|
+
For critical issues, create follow-up tasks:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# Example task creation
|
|
276
|
+
ace-idea "Fix zombie mock in ace-docs test_change_detection"
|
|
277
|
+
ace-idea "Move ace-git test_diff_with_large_file to E2E"
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Automation
|
|
281
|
+
|
|
282
|
+
### Scheduled Audit
|
|
283
|
+
|
|
284
|
+
Add to cron or CI schedule:
|
|
285
|
+
|
|
286
|
+
```yaml
|
|
287
|
+
# .github/workflows/test-audit.yml
|
|
288
|
+
name: Monthly Test Audit
|
|
289
|
+
on:
|
|
290
|
+
schedule:
|
|
291
|
+
- cron: '0 9 1 * *' # First of month, 9am
|
|
292
|
+
workflow_dispatch:
|
|
293
|
+
|
|
294
|
+
jobs:
|
|
295
|
+
audit:
|
|
296
|
+
runs-on: ubuntu-latest
|
|
297
|
+
steps:
|
|
298
|
+
- uses: actions/checkout@v4
|
|
299
|
+
- name: Run audit
|
|
300
|
+
run: |
|
|
301
|
+
# Quick audit in CI
|
|
302
|
+
ace-test-suite --profile > audit.txt
|
|
303
|
+
# Post to issue or Slack
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Pre-merge Check
|
|
307
|
+
|
|
308
|
+
```yaml
|
|
309
|
+
# In PR workflow
|
|
310
|
+
- name: Performance regression check
|
|
311
|
+
run: |
|
|
312
|
+
ace-test --profile 20 > profile.txt
|
|
313
|
+
if grep -E "[0-9]+\.[2-9][0-9][0-9]s|[1-9]\.[0-9]+s" profile.txt; then
|
|
314
|
+
echo "::error::Performance regression detected"
|
|
315
|
+
exit 1
|
|
316
|
+
fi
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## Checklist
|
|
320
|
+
|
|
321
|
+
### Quick Audit
|
|
322
|
+
- [ ] Run `ace-test-suite --profile`
|
|
323
|
+
- [ ] Identify tests >100ms
|
|
324
|
+
- [ ] Note critical violations
|
|
325
|
+
|
|
326
|
+
### Standard Audit
|
|
327
|
+
- [ ] Quick audit steps
|
|
328
|
+
- [ ] Check slow tests for zombie mocks
|
|
329
|
+
- [ ] Verify test layer classification
|
|
330
|
+
- [ ] Generate health report
|
|
331
|
+
|
|
332
|
+
### Deep Audit
|
|
333
|
+
- [ ] Standard audit steps
|
|
334
|
+
- [ ] Generate coverage report
|
|
335
|
+
- [ ] Run flakiness detection (5x)
|
|
336
|
+
- [ ] Compare to previous audit
|
|
337
|
+
- [ ] Create action item tasks
|
|
338
|
+
|
|
339
|
+
## See Also
|
|
340
|
+
|
|
341
|
+
- [Test Suite Health Guide](guide://test-suite-health)
|
|
342
|
+
- [Test Performance Guide](guide://test-performance)
|
|
343
|
+
- [Optimize Tests Workflow](wfi://test/optimize)
|
data/lib/ace/test.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ace-test
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.6.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Michal Czyz
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: bundler
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.0'
|
|
19
|
+
type: :development
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rake
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '13.0'
|
|
33
|
+
type: :development
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '13.0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: minitest
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '5.0'
|
|
47
|
+
type: :development
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '5.0'
|
|
54
|
+
description: ACE testing knowledge base with guides, testing patterns, and workflow
|
|
55
|
+
instructions for fast and reliable code validation.
|
|
56
|
+
email:
|
|
57
|
+
- mc@cs3b.com
|
|
58
|
+
executables: []
|
|
59
|
+
extensions: []
|
|
60
|
+
extra_rdoc_files: []
|
|
61
|
+
files:
|
|
62
|
+
- ".ace-defaults/nav/protocols/agent-sources/ace-test.yml"
|
|
63
|
+
- ".ace-defaults/nav/protocols/guide-sources/ace-test.yml"
|
|
64
|
+
- ".ace-defaults/nav/protocols/tmpl-sources/ace-test.yml"
|
|
65
|
+
- ".ace-defaults/nav/protocols/wfi-sources/ace-test.yml"
|
|
66
|
+
- CHANGELOG.md
|
|
67
|
+
- LICENSE
|
|
68
|
+
- README.md
|
|
69
|
+
- Rakefile
|
|
70
|
+
- handbook/agents/mock.ag.md
|
|
71
|
+
- handbook/agents/profile-tests.ag.md
|
|
72
|
+
- handbook/agents/test.ag.md
|
|
73
|
+
- handbook/guides/SUMMARY.md
|
|
74
|
+
- handbook/guides/embedded-testing-guide.g.md
|
|
75
|
+
- handbook/guides/mocking-patterns.g.md
|
|
76
|
+
- handbook/guides/quick-reference.g.md
|
|
77
|
+
- handbook/guides/test-driven-development-cycle/meta-documentation.md
|
|
78
|
+
- handbook/guides/test-driven-development-cycle/ruby-application.md
|
|
79
|
+
- handbook/guides/test-driven-development-cycle/ruby-gem.md
|
|
80
|
+
- handbook/guides/test-driven-development-cycle/rust-cli.md
|
|
81
|
+
- handbook/guides/test-driven-development-cycle/rust-wasm-zed.md
|
|
82
|
+
- handbook/guides/test-driven-development-cycle/typescript-nuxt.md
|
|
83
|
+
- handbook/guides/test-driven-development-cycle/typescript-vue.md
|
|
84
|
+
- handbook/guides/test-layer-decision.g.md
|
|
85
|
+
- handbook/guides/test-mocking-patterns.g.md
|
|
86
|
+
- handbook/guides/test-organization.g.md
|
|
87
|
+
- handbook/guides/test-performance.g.md
|
|
88
|
+
- handbook/guides/test-responsibility-map.g.md
|
|
89
|
+
- handbook/guides/test-review-checklist.g.md
|
|
90
|
+
- handbook/guides/test-suite-health.g.md
|
|
91
|
+
- handbook/guides/testable-code-patterns.g.md
|
|
92
|
+
- handbook/guides/testing-philosophy.g.md
|
|
93
|
+
- handbook/guides/testing-strategy.g.md
|
|
94
|
+
- handbook/guides/testing-tdd-cycle.g.md
|
|
95
|
+
- handbook/guides/testing.g.md
|
|
96
|
+
- handbook/guides/testing/ruby-rspec-config-examples.md
|
|
97
|
+
- handbook/guides/testing/ruby-rspec.md
|
|
98
|
+
- handbook/guides/testing/rust.md
|
|
99
|
+
- handbook/guides/testing/test-maintenance.md
|
|
100
|
+
- handbook/guides/testing/typescript-bun.md
|
|
101
|
+
- handbook/guides/testing/vue-firebase-auth.md
|
|
102
|
+
- handbook/guides/testing/vue-vitest.md
|
|
103
|
+
- handbook/skills/as-test-create-cases/SKILL.md
|
|
104
|
+
- handbook/skills/as-test-fix/SKILL.md
|
|
105
|
+
- handbook/skills/as-test-improve-coverage/SKILL.md
|
|
106
|
+
- handbook/skills/as-test-optimize/SKILL.md
|
|
107
|
+
- handbook/skills/as-test-performance-audit/SKILL.md
|
|
108
|
+
- handbook/skills/as-test-plan/SKILL.md
|
|
109
|
+
- handbook/skills/as-test-review/SKILL.md
|
|
110
|
+
- handbook/skills/as-test-verify-suite/SKILL.md
|
|
111
|
+
- handbook/templates/e2e-sandbox-checklist.template.md
|
|
112
|
+
- handbook/templates/test-case.template.md
|
|
113
|
+
- handbook/templates/test-performance-audit.template.md
|
|
114
|
+
- handbook/templates/test-responsibility-map.template.md
|
|
115
|
+
- handbook/templates/test-review-checklist.template.md
|
|
116
|
+
- handbook/workflow-instructions/test/analyze-failures.wf.md
|
|
117
|
+
- handbook/workflow-instructions/test/create-cases.wf.md
|
|
118
|
+
- handbook/workflow-instructions/test/fix.wf.md
|
|
119
|
+
- handbook/workflow-instructions/test/improve-coverage.wf.md
|
|
120
|
+
- handbook/workflow-instructions/test/optimize.wf.md
|
|
121
|
+
- handbook/workflow-instructions/test/performance-audit.wf.md
|
|
122
|
+
- handbook/workflow-instructions/test/plan.wf.md
|
|
123
|
+
- handbook/workflow-instructions/test/review.wf.md
|
|
124
|
+
- handbook/workflow-instructions/test/verify-suite.wf.md
|
|
125
|
+
- lib/ace/test.rb
|
|
126
|
+
- lib/ace/test/version.rb
|
|
127
|
+
homepage: https://github.com/cs3b/ace
|
|
128
|
+
licenses:
|
|
129
|
+
- MIT
|
|
130
|
+
metadata:
|
|
131
|
+
homepage_uri: https://github.com/cs3b/ace
|
|
132
|
+
source_code_uri: https://github.com/cs3b/ace/tree/main/ace-test/
|
|
133
|
+
changelog_uri: https://github.com/cs3b/ace/blob/main/ace-test/CHANGELOG.md
|
|
134
|
+
rdoc_options: []
|
|
135
|
+
require_paths:
|
|
136
|
+
- lib
|
|
137
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
|
+
requirements:
|
|
139
|
+
- - ">="
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: 3.2.0
|
|
142
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
|
+
requirements:
|
|
144
|
+
- - ">="
|
|
145
|
+
- !ruby/object:Gem::Version
|
|
146
|
+
version: '0'
|
|
147
|
+
requirements: []
|
|
148
|
+
rubygems_version: 3.6.9
|
|
149
|
+
specification_version: 4
|
|
150
|
+
summary: Testing knowledge base for ACE -- guides, patterns, and workflows for fast,
|
|
151
|
+
reliable tests.
|
|
152
|
+
test_files: []
|