Поддельный FTP-сервер - PullRequest
       1

Поддельный FTP-сервер

4 голосов
/ 17 октября 2011

Я пишу класс C ++, который выполняет некоторые операции в качестве клиента FTP.Я хотел бы настроить некоторые тесты для этого, так что мне нужно было бы использовать поддельный FTP-сервер.

Я искал один и думаю, что мог бы написать некоторые скрипты на Python и использовать pyftpdlib .Но я предполагаю, что будут некоторые недостатки в настройке и отключении сервера после каждого теста.

Любые предложения о том, как легко запустить поддельный FTP-сервер для автоматического тестирования в C ++.

РЕДАКТИРОВАТЬ:

Я немного расширил свой поиск и нашел MockFtpServer , который является именно тем, что я искал, хотя вместо этого был написан на C ++Java.

Ответы [ 2 ]

6 голосов
/ 17 октября 2011

Вы должны разработать свой код для тестируемости, в этом случае FTP-сервер является внешним ресурсом. Определите адаптер между вашей программой и FTP-сервером. В тесте вы можете поставить тестовый адаптер для подделки ответа FTP. Теперь вы также можете подделать различные варианты поведения для сервера ftp.

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

Если вы говорите о модульном тестировании, то ответ @ peer правильный. Вы должны смоделировать FTP-соединение, потому что в идеале ваши модульные тесты выполняются как часть каждой сборки, и они не должны зависеть от того, что находится за пределами клиентского пакета.

OTOH, если вы говорите о тестировании системы / интеграции, то у вас должен быть рабочий клон поддерживаемой рабочей среды (сред), включая FTP-сервер. Я не уверен, почему вы хотите «поддельный» FTP-сервер для тестирования системы / интеграции. Вероятно, лучше всего использовать FTP-сервер, который ваши клиенты будут использовать.

...