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.