За последние 24 часа нас посетили 22115 программистов и 1151 робот. Сейчас ищут 394 программиста ...

Тестирование метода который ничего не возвращает

Тема в разделе "Yii", создана пользователем Ilyamaksimov, 4 авг 2018.

  1. Ilyamaksimov

    Ilyamaksimov Новичок

    С нами с:
    6 сен 2017
    Сообщения:
    26
    Симпатии:
    3
    Здравствуйте,
    Подскажите как по феншую( грамотно, правильно) протестировать метод notifyUsers в классе EmailNotificationToUsers?
    Понятно что отдельно будет протестирован метод getEmail() у класса Users (в этом проблем нет). А вот как тестировать методы которые ничего не возвращают, непонятно.

    Код (Text):
    1.  
    2. class EmailNotificationToUsers{
    3.  
    4. public static function notifyUsers{
    5.     $users = Users::getEmail();
    6.  
    7.     self::sendMail($users);
    8. }
    9.  
    10. private static function sendEmail($users){
    11.     /*  проходит циклом по массиву $users достает email и отправляет сообщение*/
    12. }

    Можно конечно сделать отдельный публичный метод getUsers в этом классе, который будет возвращать массив Users и этот метод уже можно протестировать, но по правильному метод getUsers лучше делать private и снова получаем проблему так как в таком случае метод будет недоступен для тестирования (private)

    Код (Text):
    1.  
    2. class EmailNotificationToUsers{
    3.  
    4. public static function notifyUsers{
    5.     $users = self::getUsers();
    6.  
    7.     self::sendMail($users);
    8. }
    9.  
    10. public static function getUsers{
    11.     return  $users = Users::getEmail();
    12. }
    13.  
    14. private static function sendEmail($users){
    15.     /*  проходит циклом по массиву $users достает email и отправляет сообщение*/
    16. }