Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2014, 20:14   #1
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию Знакомство с фреймворком Google Mock

Привет!

Начал осваивать Google Mock и застрял на самом простейшем примере из этого туториала: http://blog.divebomb.org/2011/07/my-...nd-googlemock/

При запуске тестов выдаётся такой текст:
Цитата:
../HtmlParser_gtests/main.cpp:36: Failure
Actual function call count doesn't match EXPECT_CALL(mock, getUrlAsString("http://example.net"))...
Expected: to be called once
Actual: never called - unsatisfied and active
Вот все файлы проекта:

main.cpp
Код:
#include <string>
#include <vector>
#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include "HttpFetch.h"
#include "HtmlParser.h"
using ::testing::Return;

class HttpFetchMock : public HttpFetch {
public:

    MOCK_CONST_METHOD1( getUrlAsString, std::string( const std::string& ) );
};

TEST(HtmlParser, NoData) {
    char *html;
    HttpFetchMock mock;
    HtmlParser parser(mock);
    EXPECT_CALL(mock, getUrlAsString("http://example.net"))
        .WillOnce(Return(std::string(html)));
    std::vector<std::string> links = parser.getAllLinks("http://example.net");
    EXPECT_EQ(0, links.size());
}

int main( int argc, char *argv[] ) {
    ::testing::InitGoogleMock( &argc, argv );
    return RUN_ALL_TESTS( );
}
HtmlParser.h
Код:
#ifndef HTMLPARSER_H
#define HTMLPARSER_H

#include <string>
#include <vector>
#include "HttpFetch.h"

class HtmlParser {
public:

    HtmlParser( const HttpFetch &http ) : m_http( http ) {

    }

    std::vector<std::string> getAllLinks( const std::string &url ) const {
        // TODO
        return std::vector<std::string>();
    }

private:
    HttpFetch m_http;
};

#endif // HTMLPARSER_H
HttpFetch.h
Код:
#ifndef HTTPFETCH_H
#define HTTPFETCH_H

#include <string>

class HttpFetch {
public:

    virtual ~HttpFetch( ) {

    }

    virtual std::string getUrlAsString( const std::string &url ) const {
        // TODO
        return std::string( );
    }
};

#endif // HTTPFETCH_H
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
знакомство unearth Свободное общение 62 08.02.2014 06:56
Перенос даты из формы Google в календарь Google. (Google Apps) katalnikov Фриланс 2 24.11.2012 22:42
IdHTTP и Google, Ошибка при запросе к серверу google s2dent Общие вопросы C/C++ 0 28.09.2010 19:47
Знакомство с одноклассниками Alar Свободное общение 10 03.07.2008 22:20