为什么在测试我的控制器时会出现路由未定义错误?

Why am I getting a route undefined error when testing my controller?

我正在尝试通过在我的单元测试中调用我的控制器操作来内部测试 API。出于某种原因,我收到 InvalidArgumentException: Route [ListController@create] not defined。谁能帮忙?

ListControllerTest.php
use Guzzle\Tests\GuzzleTestCase,
Guzzle\Plugin\Mock\MockPlugin,
Guzzle\Http\Message\Response,
Guzzle\Http\Client,
Guzzle\Service\Client as ServiceClient,
Guzzle\Http\EntityBody;

class ListTest extends TestCase {
    public function testCreateList()
    {
        $user_id = getTestReceiverUserId();
        $response = $this->action(
            'POST', 
            'ListController@create',
            [
                'body' => array(
                    "name" => "open,shared",
                    "users" => array(array("user_id" => $user_id)),
                    "visibility" => "2",
                    "joinability" => "2",
                    "adminship" => "1",
                    "color" => "#2bc069"
                ),
                'headers' => array('Auth' => getTestAuthSender())
            ]
        );
    }
routes.php
Route::group(array('namespace' => 'App\Controllers\v2', 'prefix' => '2.0'), function()
{
    Route::controller('user', 'UserController');
    Route::controller('invite', 'InviteController');
    Route::controller('list', 'ListController');

    Route::post('/login','AuthController@login');
    Route::any('/logout','AuthController@logout');
});
ListController.php
namespace App\Controllers\v1;
use BaseController;
use Timothylhuillier\LaravelMixpanel\Facades\LaravelMixpanel;
class ListController extends BaseController
{
    public function postCreate()
    {
       Some Code
    }

我想这是因为您的 ListController 位于 v2 命名空间中。

尝试更改:

'ListController@create',

至:

'v2\ListController@postCreate',

希望对您有所帮助!