difficult. In this course, you will learn how the Intern testing platform provides a complete solution for testing your applications.
Michael Van Sickle is an application architect in Akron, Ohio.
He is a mechanical engineer by training and a software engineer by choice.
He is passionate about learning new programming languages and user
Writing Functional Tests When I think of writing tests for an application, I tend to think of two types. Unit tests that are designed to ensure that the different parts of my application work as expected, and functional tests that make sure that the different parts work together properly. Well, we covered unit testing with Intern in the last module, so in this one I want to tackle functional tests. Fortunately, Intern is going to allow us to use a lot of the things that we've already learned to write these tests, so we're going to be able to focus in on writing the functional tests themselves. So we're going to start this module in a very similar way to how we started the last one. We're going to start by talking about a definition. We're going to set a common understanding about what a functional test is as we discuss them in this module. Then we're going to jump right in and learn how to write functional tests, and then we're going to talk about a concept that can help you write your functional tests in a more consistent and maintainable way, and that concept is something called a page object. So that's what we'll talk about in order to finish out this module. Okay, so let's get started by defining what a functional test is.
Running Tests Locally Over the last couple of modules, we've talked about some of the types of tests that you can write with Intern. We have not, however, talked about where those tests can be run. I'd like to address that point in this module and the next. We'll start in this module by talking about how to execute tests on the same machine that Intern is running on, what I'm calling local tests. And as we'll see, there are three primary ways to do that. So this module is going to have a pretty simple structure. We're just going to go over the three different options that we have available, and then we're going to jump into some demos showing you how to executes tests in those three different environments. The first is using the CLI, using Intern's command-line interface, and it's actually what we've been using so far throughout this course, but there's a little bit of depth that I want to get into to show you some of the options that you have when working with Intern on the CLI. The next option that we have is running the tests in the browser. So this is a browser running on our local machine, and I'd like to show you how to execute you're tests using the browser, how we can look at results, and some options that we have when we're working in this environment. And finally, we're going to talk about the third option that is directly supported by the Intern library, and that is by using Grunt tasks to automate the execution of our test suite on our local machine. So let's get started by diving into the details of using the Intern CLI.