我目前在我的Yii2項目中引入了Banstalkd,但是我在測試中遇到了一些問題。一個例子是在單元測試同步之前測試發送的郵件,驗證郵件是否已發送,以及正確的電子郵件格式,如果包含一些文本,但現在與Beastalkd我不知道wtha做。如果工作完成,我打算先添加驗證,然後檢查其餘部分。但我怎麼能做所有的東西?在代碼中測試Beanstalkd作業
我使用的是Codeception,我檢查了文檔http://codeception.com/docs/modules/Queue#.VuwE2x_I7eR,但我沒有看到任何幫助檢查作業狀態的方法,第二個想法是,如果作業在其他上下文中(控制檯應用程序),我如何驗證所有的事情?我誠實地認爲,我所能做的一切只是驗證工作是否完成,但如果失敗則不能。
任何想法,資源或任何,我會很感激。
有的syncronous碼的一部分:
expect('email should be correct', $user->email)->equals('[email protected]');
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);
});