Какие утверждения / тесты необходимы в базовом тестовом примере "Сохранить / отправить"? - PullRequest
0 голосов
/ 12 октября 2011

Может кто-нибудь помочь мне с утверждениями, которые требуются в базовом тестовом примере метода сохранения в CakePHP 2.0?

У меня есть модель Product, User и News, я хочу написать тестовый пример для метода submit в модели News, и есть так много способов / вещей для включения, что мне просто интересно, что на самом деле нужно а что нет. У меня есть основные настройки светильников для всех моделей.

Метод, который я тестирую, будет таким:

class News extends AppModel {
    public submit($productId, $userId, $newsData) { 
        // Logic which checks for user and products existence, saves and returns submitted row
    }
}

Контрольный пример

public function testSubmit() {

    // Save News
    $newsData = array(
        'News' => array(
            'title' => 'Here is the title of the news',
            'body' => 'Here is the news body',
            'source' => 'News came from here'
        )
    );

    $news = $this->News->submit('product-1', 'user-1', $newsData);

    // Now what?
}

1 Ответ

1 голос
/ 12 октября 2011

Просто подтвердите, что $ news - это массив, объект, что массив равен ожидаемому массиву ... Независимо от того, что возвращает ваш метод, вы должны знать это еще до реализации метода (разработка через тестирование) и иметь возможность подтвердите результат, используя один или несколько методов phpunit assert.

Как просто $ this-> assertTrue ($ news); Проверьте руководство для всех утверждений. http://www.phpunit.de/manual/current/en/

Также посмотрите на основные тесты CakePHP, чтобы получить представление о том, как проводить тестирование.

Или посмотрите на некоторые примеры плагинов с открытым исходным кодом, такие как https://github.com/CakeDC/tags/blob/2.0/Test/Case/Model/TaggedTest.php или же https://github.com/CakeDC/users/blob/2.0/Test/Case/Model/UserTest.php

...