Mar*_*tin 4 php phpunit laravel laravel-4 codeception
我想做的事情如下:
$I->setExpectedException('Laracasts\Validation\FormValidationException');
Run Code Online (Sandbox Code Playgroud)
在一个功能性的cept.有机会吗?
\PHPUnit_Framework_TestCase::setExpectedException('Laracasts\Validation\FormValidationException');
Run Code Online (Sandbox Code Playgroud)
上面的代码将单独工作,但如果我运行codecept run
,一旦完成预期异常的测试,测试就会卡住.
这是我的设置:
阳明:
class_name: FunctionalTester
modules:
enabled: [Filesystem, Db, FunctionalHelper, Laravel4, Asserts]
Run Code Online (Sandbox Code Playgroud)
小智 11
我认为这是Laravel 4模块的一个已知问题,用于代码检测,不确定它是否会很快修复,但同时我创建了一个辅助函数来测试异常:
在文件tests/_support/FunctionalHelper.php中添加以下方法:
public function seeExceptionThrown($exception, $function)
{
try
{
$function();
return false;
} catch (Exception $e) {
if( get_class($e) == $exception ){
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
你在Cepts中使用它像这样:
$I = new FunctionalTester($scenario);
$I->assertTrue(
$I->seeExceptionThrown('Laracasts\Validation\FormValidationException', function() use ($I){
//All actions that you expect to generate the Exception
$I->amOnPage('/users/edit/1');
$I->fillField('name', '');
$I->click('Update');
}));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6895 次 |
最近记录: |