← Каталог
Рекомендации по разработке на C++ — Тестирование взаимодействия с внешними системами
Фрагмент из «Рекомендации по разработке на C++»: Тестирование взаимодействия с внешними системами.
class MockStorage : public StorageInterface
{
public:
MOCK_METHOD(void, store, (const std::string&, const std::string&), (override));
MOCK_METHOD(std::string, load, (const std::string&), (override));
MOCK_METHOD(bool, exists, (const std::string&), (override));
MOCK_METHOD(void, remove, (const std::string&), (override));
};
TEST(DocumentServiceTest, SavesDocumentToStorage)
{
auto mock_storage = std::make_unique<MockStorage>();
EXPECT_CALL(*mock_storage, store("doc1", "content"))
.Times(1);
DocumentService service(std::move(mock_storage));
service.save_document("doc1", "content");
} class MockStorage : public StorageInterface
{
public:
MOCK_METHOD(void, store, (const std::string&, const std::string&), (override));
MOCK_METHOD(std::string, load, (const std::string&), (override));
MOCK_METHOD(bool, exists, (const std::string&), (override));
MOCK_METHOD(void, remove, (const std::string&), (override));
};
TEST(DocumentServiceTest, SavesDocumentToStorage)
{
auto mock_storage = std::make_unique<MockStorage>();
EXPECT_CALL(*mock_storage, store("doc1", "content"))
.Times(1);
DocumentService service(std::move(mock_storage));
service.save_document("doc1", "content");
}