Skip to content

Commit 90ee33b

Browse files
claudeJ2TeamNNL
authored andcommitted
docs(claude-md): strengthen testing requirements and add UI test command
1 parent c24cae1 commit 90ee33b

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

CLAUDE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ These govern every decision — code, architecture, tooling, and process:
1212
4. **Clean code** — self-explanatory naming, early returns over nested conditionals, small focused functions. No comments in the codebase — code must be self-documenting through clear naming and structure.
1313
5. **Root cause fixes** — don't patch symptoms. Diagnose the underlying issue, add logging to debug if needed, then fix the actual cause.
1414
6. **No hacky solutions** — no backward-compatibility shims, no temporary workarounds left in place, no duct tape. If the right fix is harder, do the right fix.
15-
7. **Testability**if a feature is testable, write tests. When tests fail, fix the source code — never adjust tests to match incorrect output.
15+
7. **Testability**every testable code change needs unit/function tests, and UI/user-flow changes need UI automation when deterministic. When tests fail, fix the source code — never adjust tests to match incorrect output.
1616
8. **Maintainability** — follow existing patterns but offer refactors when they improve quality. Extract into extensions when approaching size limits. Group by domain logic.
1717
9. **Scalability** — design for the plugin system's open-ended nature. `DatabaseType` is a struct, not an enum. All switches need `default:`.
1818

@@ -52,6 +52,7 @@ swiftformat . # Format code
5252
xcodebuild -project TablePro.xcodeproj -scheme TablePro test -skipPackagePluginValidation
5353
xcodebuild -project TablePro.xcodeproj -scheme TablePro test -skipPackagePluginValidation -only-testing:TableProTests/TestClassName
5454
xcodebuild -project TablePro.xcodeproj -scheme TablePro test -skipPackagePluginValidation -only-testing:TableProTests/TestClassName/testMethodName
55+
xcodebuild -project TablePro.xcodeproj -scheme TablePro test -skipPackagePluginValidation -only-testing:TableProUITests
5556

5657
# DMG
5758
scripts/create-dmg.sh
@@ -229,7 +230,7 @@ These are **non-negotiable** — never skip them:
229230
- Settings changes → `docs/customization/settings.mdx`
230231
- Database driver changes → `docs/databases/*.mdx`
231232
232-
4. **Tests**: Write tests for testable features. When tests fail, fix the source code — never adjust tests to match incorrect output. Tests define expected behavior.
233+
4. **Tests**: Every code change must include or update unit/function tests for testable behavior. UI and user-flow changes must also include or update `TableProUITests` UI automation when the flow can run deterministically; if not, state the blocker in the handoff. When tests fail, fix the source code — never adjust tests to match incorrect output. Tests define expected behavior.
233234
234235
5. **Lint after changes**: Run `swiftlint lint --strict` to verify compliance.
235236

0 commit comments

Comments
 (0)