phpunit在测试失败时让测试通过

时间:2015-03-12 19:59:44

标签: php laravel phpunit

我跟随此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。有什么我需要改变才能让它正常工作吗?

1 个答案:

答案 0 :(得分:0)

当你调用call方法时,Laravel 5完全有可能不会抛出异常 - 即使它与路线不匹配。如果测试方法没有抛出异常,并且不包含任何断言,那么它将通过。虽然如此,根据您配置phpunit的方式,它应该警告您测试不包含断言。

我从

开始
  • $this->call('POST', 'support/store', ['name' => 'john']);返回什么?

  • 您确定您的测试类包含在运行中吗?

  • 你确定测试跑步者会上课吗?

回答这些问题,我怀疑你的问题会得到答案。