The Acceptance test library (ATL) is an X++ test library that offers the following benefits:
- It lets you create consistent test data.
- It increases the readability of the test code.
- It provides improved discoverability of the methods that are used to create test data.
- It hides the complexity of setting up prerequisites.
- It supports high-performance test cases.
The structure and names of the classes and methods in ATL are quite rigid. This rigidity helps improve discoverability and also makes it easier to write tests, even in domains that you're unfamiliar with.
The classes are grouped into the following concepts:
- Navigation: Discover entities and test data methods in a familiar hierarchy (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-navigation).
- Test data methods: These methods are used to set up test data (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/test-data-methods).
- Entities: Entities represent data and associated behavior that is perceived as a single unit (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-entities).
- Creators: Creators let you create specific test data (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-creators).
- Commands: Commands run business operations (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-commands).
- Queries: Queries find entities (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-queries).
- Specifications: Specifications describe expected entities at the end of the test (https://docs.microsoft.com/en-gb/dynamics365/fin-ops-core/dev-itpro/perf-test/concepts-specifications).
To learn more about ATL, please refer to https://docs.microsoft.com/en-gb/dynamics365/unified-operations/dev-itpro/perf-test/acceptance-test-library#example-of-a-test-that-is-written-in-atl.