- use Printable Wrappers
- use Parameterized Tests
- use MachineNameSpecific Tests
- verify Images
- remove inconsistent output using Scrubbers
- have Consistent Time Zones in your tests
- separate and test Data Access and Rendering
- show nulls in verifyAsJson
- test a variety of values
- capture .received. files from CI
- Create customized verify methods
- Use Inline Approvals
- AWTApprovals
- Approval File Names
- CombinationApprovals
- FrontLoadedReporters
- Naming of
.approved.
files - Options
- PackageSettings
- Story Boards
- The Verify API
Configuration of ApprovalTests mainly occurs via @Annotations, PackageSettings, and Options. Read More about it here
Note: We are following Daniele Procida's theory of documentation
- Why we don't use checked exceptions
- Best configuration practices
- Benefits of different reporters
- Inline Approvals Workflow
- Approval Testing Concepts
- Place to modify output
- What are Approvals
- Verify verify(object) is the main pattern to use in ApprovalTests.
- Options allow you to configure many aspects of Approvals
- Reporters (often diff tools) are called on test failure to help you determine what went wrong.
- Writers write to a file
- Namers figure out what the file should be called and where it is located