Let’s refactor our test and use the andAlsoExpectIt() method. You’ll also learn about Mockery’s ordered() method for declare the expectations should run in a specific order.
Labs
Labs are hands-on coding projects that you build along with Tonya as she explains the code, concepts, and thought processes behind it. You can use the labs to further your code knowledge or to use right in your projects. Each lab ties into the Docx to ensure you have the information you need.
Each lab is designed to further your understanding and mastery of code. You learn more about how to think about its construction, quality, maintainability, programmatic and logical thought, and problem-solving. While you may be building a specific thing, Tonya presents the why of it to make it adaptable far beyond that specific implementation, thereby giving you the means to make it your own, in any context.
`andAlsoExpectIt()`
`expect()` – Behavior Options
There are multiple behavior (task) options you can use for the expect() patching function: andReturn(), andReturnValues(), andReturnNull(), andReturnUsing(), and andThrow(). Let’s walk through each one and write some code to see how to use them in your testing suite.
`expect()`
Let’s dig into the expect() testing function in Brain Monkey. This function lets you redefine the expected behavior of a function that you want to mock out and make it part of the tests assertions.
`when()` – Behavior Options
There are multiple behavior (task) options you can use for the when() patching function: justReturn(), returnArg(), justEcho(), echoArg(), and alias(). Let’s walk through each one and write some code to see how to use them in your testing suite.
`when()`
Let’s dig into the when() patching function in Brain Monkey. This function lets you redefine the expected behavior of a function that you want to mock out. In other words, for your unit test, you want to redefine (mock) an external function to achieve a pure unit test.
Anatomy of the Test Expectation
Let’s talk about the anatomy of a test expectation in Brain Monkey. In this episode, you’ll discover how to structure an expectation as we look at when() and expect().
Brain Monkey’s Toolset Overview
Let’s dive into the all of the different functions (toolset) that are available for you in Brain Monkey. We’ll look at the documentation and its test suite.
Create a Test Class
Before we can start adding Brain Monkey functionality to our tests, we need a test class. Let’s create that together in this episode. Here are the pro tips that I share in this episode: Load all of the needed source files in the setUp() method after the parent::setUp(). Why? Before we can redefine a function, Patchwork needs to load first and then the original source code. Load only the source files from the package (plugin or theme) that you are testing. Do not load WordPress core or other third party files. Why? You only load the original source code when […]
setUp and tearDown
In this episode, you and I will walk through the Test Case and add in the setUp and tearDown for Brain Monkey, which then handles Patchwork and Mockery for us.