Я начинающий тест phpunit. Я хочу протестировать 2 функции в этом классе:
class SendEmailService
{
public function sendMail($prs1, $prs2, $prs3)
{
//...
$result = $this->sendMailMessageBuilder($prs1, $prs2, $prs3);
//...
}
public function sendMailMessageBuilder($prs1, $prs2, $prs3)
{
// ...
return ...;
}
}
Затем я создал тестовый класс:
class SendEmailServiceTest extends TestCase
{
/**
* @dataProvider sendEmailMessageBuilderDataProvider()
* @param $params
* @param $expected
*/
public function testSendEmailMessageBuilder($params, $expected)
{
//...
$result = $sendMailService->sendMailMessageBuilder($params['$prs1'],$params['$prs2'],$params['$prs3']);
$this->assertEquals($expected, $result);
}
/**
* @dataProvider sendEmailDataProvider()
* @param $params
* @param $expected
*/
public function testSendEmail($params, $expected)
{
//
}
public function sendEmailMessageBuilderDataProvider()
{
return [
'happy-case-1' => [
'params' => [
'$prs1' => ...,
'$prs2' => ...,
'$prs3' => ...
],
'expected' => [
//...
]
]
];
}
}
testSendEmailMessageBuilder()
функция работает нормально. Затем я хочу повторно использовать его в функции testSendEmail()
, потому что вижу в классе SendEmailService
функцию sendEmail()
обратного вызова функции sendEmailMessageBuilder()
. Если да, нужно ли мне писать функцию sendEmailDataProvider()
? Пожалуйста, помогите мне.