Название: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 24, 2013, 17:19 Не могу никак придумать тест.
надо протестировать класс, экземпляр которого являет собой закачку (DownloadMember). у класса есть всего 3 публичных метода: Код: void startDownloading(); Код: int getState() const; Проблема для меня заключается в том что я не знаю как подготовить екземпляр класса для тестирования на нем одного с 3-ех методов (void startDownloading(); например) мой тест выглядит так: Код: void TestDownloadManager::downloadMember_startDownloading_Test() Правильно будет переопределить конструктор DownloadMember? Что для этого надо? Вот код конструктора: Код: DownloadMember::DownloadMember(const QString &sourceURL, const QString &directory, QObject *parent) : Название: Re: Помогите написать тест! Отправлено: mutineer от Апрель 24, 2013, 17:25 А где в конструкторе проверка?
Название: Re: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 24, 2013, 17:33 Код: sender->getDownloadInfo(); Код: connect(sender.data(), SIGNAL(newReply(QNetworkReply*)), SLOT(replyRecivingStarted(QNetworkReply*))); Код: error(QNetworkReply::NetworkError) Название: Re: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 24, 2013, 17:38 Кстати!
Сам метод startDownloading() выглядит так: Код: void DownloadMember::startDownloading() Код: void DownloadMember::beginDownloading() Название: Re: Помогите написать тест! Отправлено: mutineer от Апрель 24, 2013, 17:58 Чтобы нормально оттестировать это класс, имхо, придется понимать локальный сервер
Название: Re: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 24, 2013, 18:12 ииииии...)
Не думаю что это хорошая идея запускать локал сервер...) Наверное лучше будет перенести проверку в сам метод startDownloading()... Типа забарать с конструктора sender->getDownloadInfo(); и вставить его в: Код: void DownloadMember::startDownloading() Название: Re: Помогите написать тест! Отправлено: mutineer от Апрель 24, 2013, 18:24 Так тебе надо протестить существующий класс или переписать его?
Название: Re: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 24, 2013, 18:40 Мне нужно написать тесты для класса. Но можно переделать некоторые места для того чтобы было легче написать тесты...
Название: Re: Помогите написать тест! Отправлено: mutineer от Апрель 25, 2013, 11:28 Так а что даст перенос проверки в другой метод? Все равно без реального URL класс не пройдет тест
Название: Re: Помогите написать тест! Отправлено: ІГРОГРАЙКО от Апрель 25, 2013, 12:05 НУ походу тестирование метода startDownloading() можно понимать не как получение валидного ответа с сервера, а как мок, то есть вызов Qt-шного метода:
Код: QNetworkAccessManager::get() |