Testing your Controllers and MVC Applications Once you have your bootstrap in place, you can begin testing. Testing is basically as you would expect in an PHPUnit test suite, with a few minor differences. First, you will need to dispatch a URL to test, using the dispatch() method of the TestCase: dispatch('/'); // ... } } ]]> There will be times, however, that you need to provide extra information -- GET and POST variables, COOKIE information, etc. You can populate the request with that information: request->setQuery(array( 'foo' => 'bar', 'bar' => 'baz', )); // Set POST variables: $this->request->setPost(array( 'baz' => 'bat', 'lame' => 'bogus', )); // Set a cookie value: $this->request->setCookie('user', 'matthew'); // or many: $this->request->setCookies(array( 'timestamp' => time(), 'host' => 'foobar', )); // Set headers, even: $this->request->setHeader('X-Requested-With', 'XmlHttpRequest'); // Set the request method: $this->request->setMethod('POST'); // Dispatch: $this->dispatch('/foo/bar'); // ... } } ]]> Now that the request is made, it's time to start making assertions against it.