集成Codeception以在laravel中使用

时间:2017-04-20 17:33:21

标签: laravel phpunit automated-tests codeception acceptance-testing

有没有办法将codeception集成到laravel中,我可以在我的控制器中使用它?

例如,假设我有一条路线Route::post('/plugins/test', PluginController@test_plugins)

在我的PluginController类中,我想测试我的应用程序是否正常工作。在我的情况下,我想在更新插件后通过在代码中使用相同的语义进行验收来检查这一点,例如:

public function test_plugins(){
 $I = new AcceptanceTester($scenario);
 $I->wantTo('check that ... ');
 $I->amOnPage('/plugins');
 $I->seeInDatabase( ... );
 ....

 return "site works (not) correctly";
}

我正在使用Laravel 4.2

干杯 雅各布

1 个答案:

答案 0 :(得分:2)

我认为你试图以错误的方式做到这一点。控制器从不测试任何东西。控制器只是知道在调用路由时要做什么的事情。这意味着您可能希望从控制器调用控制台命令,该控制器将运行您的测试,但不会在控制器本身中编写测试代码。

所以实现你想要做的是:

  1. 像往常一样在测试文件夹中创建测试套件
  2. 创建控制器
  3. 调用./vendor/bin/codecept运行单元YourTestCest