未链接到任何路由的测试控制器方法

时间:2019-03-19 12:28:17

标签: php laravel unit-testing web testing

因此,我提供了控制器和web.php文件的示例。

controller
{
   public function add() 
   {
      //Method called via web.php
   }
   public function multiply() 
   {
      //how to access this while testing
   }
}

web.php

route::get('/add','controller@add');

现在我要执行单元测试

情况1:添加$response = $this->get(route('add'));现在,当访问/add并访问控制器方法add时,它将发送一个get请求。然后,我可以使用各种断言来检查其功能。

情况2:multiply这里未指定任何路由,因此将无法访问控制器方法。

在这种情况下如何测试我的乘法方法

1 个答案:

答案 0 :(得分:5)

您可以在测试文件中创建控制器的对象,如下所示。

 public function testBasicTest()
 {
    $object = (new UsersController());
    $response = $object->methodName();
    $this->assertTrue($response);
 }