Run Time 8:34
FreeTo begin our journey, we'll review unit testing. What exactly does this refer to?
View the source for this episode on GitHub.
Run Time 9:16
A mock offers us a useful way to set expecations on messages that should be sent, without actually sending those messages. It sounds confusing, so let's talk about it for a bit.
Run Time 7:04
A mock allows us to enforce that certain messages are sent to various collaborators. A stub is a bit different. Think of a stub as a stand-in that returns any kind of hard-coded data. "When this method is called, return false
." Let's dig into this idea a bit more.
Run Time 4:02
Don't worry: a dummy is really easy to understand. If a stub offers us a way to return pre-defined values for method calls, then a dummy strips that all away. They're the perfect stand-ins for collaborators that we don't care about.
Run Time 8:06
As we begin learning about other styles of testing, you'll surely come across the term, "factory." Let's review exactly what that is.
Once you've finished this episode, be sure to learn more about TestDummy.
Run Time 6:03
So you're starting to get the hang of what a unit test is, right? Well, let's move up the chain a bit, and focus on integration tests. These provide an excellent way to group components in our system, and verify that they work as expected.
Run Time 10:27
Finally have a basic understanding of TDD? Red, green, refactor? Well, then, how does BDD (Behavior-Driven Development) play into all of this? Well, think of BDD as TDD done right. As you'll find, we're less interested in things like object state, and more concerned with the conversation that takes place.
Run Time 12:02
Don't worry: acceptance tests are fairly easy to understand. They are tests, from the point of the view of the customer. Does the feature, as a whole (meaning, from the outside-in), work as they expected?