我跟随此Laracasts视频https://laracasts.com/lessons/tdd-by-example
在本课程中,我们将在PHPunit中为store
SupportController
方法创建一个测试
到目前为止,这是测试的样子。
public function test_submits_support_request_upon_form_submission()
{
$this->call('POST', 'support/store', ['name' => 'john']);
}
我还没有匹配'support/store'
的溃败。
当我跑这个时,我没有得到任何失败。在视频中,他收到了错误Synphoy\Component\HttpKernal\Exeception\NotFoundHttpException
这是有道理的,因为测试试图击中的路线还没有存在。我使用的是Laravel 5,他在视频中使用了4。有什么我需要改变才能让它正常工作吗?
答案 0 :(得分:0)
当你调用call
方法时,Laravel 5完全有可能不会抛出异常 - 即使它与路线不匹配。如果测试方法没有抛出异常,并且不包含任何断言,那么它将通过。虽然如此,根据您配置phpunit
的方式,它应该警告您测试不包含断言。
我从
开始 $this->call('POST', 'support/store', ['name' => 'john']);
返回什么?
您确定您的测试类包含在运行中吗?
你确定测试跑步者会上课吗?
回答这些问题,我怀疑你的问题会得到答案。