【发布时间】:2016-03-18 14:50:17
【问题描述】:
我目前正在将 Banstalkd 引入我的 Yii2 项目,但我在测试中遇到了一些问题。一个例子是测试发送的邮件,之前,当单元测试同步时,我验证了邮件是否已发送,电子邮件格式是否正确,是否包含一些文本,但现在使用 Beastalkd 我不知道该怎么做。如果工作完成,我计划首先添加验证,然后检查其余部分。但是我怎么能做所有的事情呢?
我正在使用 Codeception,并且我检查了文档 http://codeception.com/docs/modules/Queue#.VuwE2x_I7eR,但我没有看到任何有助于检查作业状态的方法,然后再考虑,如果作业在其他上下文中(控制台应用程序),我该如何验证所有的东西?老实说,我认为我能做的只是验证工作是否完成,而不是验证是否失败。
任何想法、资源或任何东西,我都会非常感激。
有一部分同步码:
expect('email should be correct', $user->email)->equals('rad8329+8@example.com');
expect('password should be correct', $user->validatePassword('asdqwe123'))->true();
expect('email sent', $model->sendEmail())->true();
$this->specify('message has correct format', function () use ($model) {
expect('message file exists', file_exists($this->getMessageFile()))->true();
$message = file_get_contents($this->getMessageFile());
expect('message "from" is correct', $message)->contains(Yii::$app->params['supportEmail']);
expect('message "to" is correct', $message)->contains($model->email);
});
【问题讨论】:
标签: php yii2 codeception beanstalkd