31 lines
940 B
Markdown
31 lines
940 B
Markdown
|
---
|
|||
|
layout: pattern
|
|||
|
title: Arrange/Act/Assert
|
|||
|
folder: arrange-act-assert
|
|||
|
permalink: /patterns/arrange-act-assert/
|
|||
|
categories: Idiom
|
|||
|
tags:
|
|||
|
- Testing
|
|||
|
---
|
|||
|
|
|||
|
## Also known as
|
|||
|
Given/When/Then
|
|||
|
|
|||
|
## Intent
|
|||
|
The Arrange/Act/Assert (AAA) is a pattern for organizing unit tests.
|
|||
|
It breaks tests down into three clear and distinct steps:
|
|||
|
1. Arrange: Perform the setup and initialization required for the test.
|
|||
|
2. Act: Take action(s) required for the test.
|
|||
|
3. Assert: Verify the outcome(s) of the test.
|
|||
|
|
|||
|
## Applicability
|
|||
|
Use Arrange/Act/Assert pattern when
|
|||
|
|
|||
|
* you need to structure your unit tests so they're easier to read, maintain, and enhance.
|
|||
|
|
|||
|
## Credits
|
|||
|
|
|||
|
* [Arrange, Act, Assert: What is AAA Testing?](https://blog.ncrunch.net/post/arrange-act-assert-aaa-testing.aspx)
|
|||
|
* [Bill Wake: 3A – Arrange, Act, Assert](https://xp123.com/articles/3a-arrange-act-assert/)
|
|||
|
* [Martin Fowler: GivenWhenThen](https://martinfowler.com/bliki/GivenWhenThen.html)
|