Skip to content

Commit 6e02213

Browse files
committed
. d Updated CLAUDE overview
1 parent 7635d49 commit 6e02213

File tree

1 file changed

+11
-25
lines changed

1 file changed

+11
-25
lines changed

CLAUDE.md

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ApprovalTests.Java is a snapshot-based testing library that simplifies assertion
1111
This is a multi-module Maven project with the following key modules:
1212

1313
- **approvaltests**: Main library containing core functionality (`Approvals.java`, writers, reporters, namers)
14-
- **approvaltests-util**: Shared utilities and helper classes
14+
- **approvaltests-util**: Shared utilities and helper classes (used as a dependency by approvaltests)
1515
- **approvaltests-tests**: Integration tests and examples
1616
- **approvaltests-util-tests**: Tests for utility classes
1717
- **counter_display**: Sample application
@@ -23,35 +23,19 @@ The core API is in `org.approvaltests.Approvals` class, which provides static me
2323

2424
### Build and Test
2525
```bash
26-
# Full build with all tests
27-
mvn install
28-
29-
# Build and test (recommended)
26+
# Build and test via Mise (requires mise installed)
3027
./build_and_test
31-
32-
# Skip tests if some are machine/locale dependent
33-
mvn install -DskipTests
34-
35-
# Run tests for specific module
36-
mvn verify -pl approvaltests-tests/
3728
```
3829

39-
### Development
40-
```bash
41-
# Format code
42-
mvn formatter:format
43-
44-
# Run just the main tests
45-
./run_tests_without_compile_dependencies.sh
46-
```
30+
**Note:** The project uses [Mise](https://mise.jdx.dev/) for task automation. The `.mise.toml` file defines tasks like `build_and_test` and `format`. Java version is specified in `.java-version` file.
4731

4832
## Key Files and Concepts
4933

50-
- **Approved files**: `*.approved.*` files must be committed to source control and treated as binary in git (add `*.approved.* binary` to `.gitattributes`)
51-
- **Received files**: Generated during test failures, showing actual output vs approved
52-
- **Reporters**: Tools that show diffs when tests fail (IntelliJ, Beyond Compare, etc.)
53-
- **Namers**: Determine approval file naming based on test method/class
54-
- **Writers**: Generate the actual content to be approved
34+
- **Approved files**: `*.approved.*` files must be committed to source control. These are automatically treated as binary in git via `.gitattributes` (`*.approved.* binary diff`)
35+
- **Received files**: `*.received.*` files generated during test failures, showing actual output vs approved. These should not be committed
36+
- **Reporters**: Tools that show diffs when tests fail (IntelliJ, Beyond Compare, etc.). Located in `org.approvaltests.reporters`
37+
- **Namers**: Determine approval file naming based on test method/class. Located in `org.approvaltests.namer`
38+
- **Writers**: Generate the actual content to be approved. Located in `org.approvaltests.writers`
5539

5640
## Running Single Tests
5741

@@ -60,6 +44,8 @@ Individual test methods can be run using standard Maven/IDE approaches:
6044
mvn test -Dtest=ClassName#methodName
6145
```
6246

47+
**Note:** Tests run with `en_US` locale by default (configured in surefire plugin) to ensure consistent output across different environments.
48+
6349
## Code Style
6450

65-
The project uses the formatter plugin with configuration in `spun.xml`. Code formatting is enforced via Maven build.
51+
There is an automatic code formatter that is used every time you build the project.

0 commit comments

Comments
 (0)