Как запустить модульные тесты для кода, который использует сервисы App Engine в Go? - PullRequest
12 голосов
/ 22 октября 2011

Мне сказали, что лучшим решением для запуска модульных тестов для кода, использующего службы App Engine, такие как хранилище данных или memcache, было выполнение сервера разработки в дочернем процессе, но я не уверен, как это сделать. Кто-нибудь успешно провел такой тест и может поделиться решением?

App Engine SDK для Go использует Python dev_appserver; см. Эту тему .

Ответы [ 3 ]

6 голосов
/ 30 октября 2013

Интересная разработка, начиная с 1.8.6 с использованием сервисных заглушек, была интегрирована в SDK через пакет "appengine/aetest". Подробнее

6 голосов
/ 15 декабря 2011

Вам следует проверить библиотеку тестирования Google App Engine Go от Джоша Марша.

1 голос
/ 17 апреля 2013

Я знаю, что спрашивающий хочет построить испытательный стенд и должен это сделать, но я думаю, что здесь есть еще один подход, о котором стоит упомянуть.

Помимо использования испытательного стенда для сервисов GAE, интересная природа Go также открывает еще одну возможность: написать ваше приложение, чтобы просто потребовать объекты, которые имеют интерфейсы, которые вы используете (они были бы подмножеством официальных API), и издеваться над ними при тестировании. Это требует от вас какого-то внедрения зависимостей, но в любом случае это действительно хорошая идея.

Как только интерфейсы и интерфейсы написаны, вы можете смоделировать их, используя такую ​​библиотеку, как gomock .

...