Comments 7
Зачем нужно 100%?
Имхо, достаточно покрывать тестами самые неоднозначные места или места, от которых много чего по цепочке может зависеть.
Имхо, достаточно покрывать тестами самые неоднозначные места или места, от которых много чего по цепочке может зависеть.
0
Здесь есть противоположное мнение: habr.com/post/345774/#comment_10608046
0
А как насчёт 146%?
+5
Что бы код был еще и качественным рекомендую использовать gometalinter. На 100% покрытом тестами проекте мне удалось найти пару ошибок с помощью gometalinter
+1
Привет.
Можно посмотреть на www.testcontainers.org
2) После получения 100% тестового покрытия можно смотреть в сторону мутиационного тестирования, улучшая качество тестов.
Как вариант, подключаться к настоящему серверу БД, в каждом тесте предзаполнять данными, проводить выборки, очищать. Но это сложное решение, далеко от unit-тестирования и накладывает свои требования на окружение, в том числе на CI-сервере.
Можно посмотреть на www.testcontainers.org
2) После получения 100% тестового покрытия можно смотреть в сторону мутиационного тестирования, улучшая качество тестов.
0
С типами проявилась еще особенность языка Go — переменная типа string не может принимать значение nil, но из БД может прийти как пустая строка, так и NULL. Для решения этой проблемы в пакете database/sql есть решение — использовать специальные struсt, которые хранят в себе значение и признак, NULL это или нет.
Можно также использовать указатель на строчку.
+1
Sign up to leave a comment.
По дороге к 100% покрытия кода тестами в Go на примере sql-dumper