Я использую модуль captbariton mailcatcher для Codeception (https://github.com/captbaritone/codeception-mailcatcher-module). Система
запускается на локальной XAMPP-установке. Я установил и настроил модуль Mailcatcher в accepance.suite.xml следующим образом:
class_name: AcceptanceTester
modules:
enabled:
- PhpBrowser:
url: http://localhost/development/rd_dev/webroot/
- \Helper\Acceptance
- MailCatcher
config:
MailCatcher:
url: 'http://127.0.0.1'
port: '1080'
В одном тесте я отправляю письмо из системы. Я печатаю текст, который вставил в электронное письмо, которое я отправляю на экран, и сначала проверяю, что это правильно. Я могу видеть, как электронная почта отображается в веб-браузере по адресу и порту: http://127.0.0.1:1080/ также работает метод удаления всех сообщений на smtp-сервере mailcatcher, $ I-> resetEmails ().
тем не мение когда я использую методы для доступа к содержанию электронной почты из теста, например, $ I-> seeInLastEmail (‘foo’) или $ text = $ I-> grabFromLastEmail («bar»), я получаю сообщение об ошибке, показанное ниже:
There was 1 error:
---------
1) ACT1050-SendEmailReportReminderWhenTryingOutServiceCept: Send email with report reminder for one report for the test company to an email address specified by the user (act1050)
Test tests/acceptance/ACT1050- SendEmailReportReminderWhenTryingOutServiceCept.php
[GuzzleHttp\Exception\ServerException] Server error: `GET http://127.0.0.1:1080/messages/3.json` resulted in a `500 Internal Server Error` response: Internal server error
Scenario Steps:
36. $I->seeInLastEmail("report") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:31
35. $I->see("sent 2017-07-29") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:30
34. $I->see("report") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:29
33. $I->see("To: [email protected]") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:28
32. $I->see("This email has been sent") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:27
31. $I->click("Send email") at tests/acceptance/ACT1050-SendEmailReportReminderWhenTryingOutServiceCept.php:26
#1 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/guzzle/src/Middleware.php:65
#2 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:203
#3 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:156
#4 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/TaskQueue.php:61
#5 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:246
#6 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:223
#7 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:266
#8 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:225
#9 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/promises/src/Promise.php:62
#10 /cygdrive/c/xampp/htdocs/bin/vendor/guzzlehttp/guzzle/src/Client.php:129
Я попытался поиграть с настройками доступа к каталогам в httpd.conf-файле (и после того, как вернулся обратно в нормальное состояние), но у меня ничего не получилось.
Может кто-нибудь помочь мне с этим вопросом?
Задача ещё не решена.
Других решений пока нет …