У меня есть побочный проект, который я люблю кодировать, я провожу время с ним, когда смогу, так как я все еще заканчиваю учебу в университете. Когда я начал это, я едва знал хорошие практики программирования и TDD, среди прочего, я только закодировал это для удовольствия.Должен ли я продолжать тестировать код или реализовывать больше функций?
Несколько итераций, рефакторов, улучшений и накопленных знаний после этого привели меня к написанию модульных тестов и интеграционных тестов, которые я мог бы, прежде чем внедрять новые функции. Тем не менее, мне все еще не хватает времени, чтобы действительно сделать все тестов, чтобы иметь приемлемый охват кода ... хотя программное обеспечение работает good.
Поэтому, когда у меня есть время потратить на этот проект, я хочу реализовать новые функции (на этот раз да, параллельно выполняйте параллельные тесты), не делая много тестов, которые, скажем, очень скучны, и многие из них трудно сделать из-за насмешек и прочего ...
Должен ли я продолжать добавлять функциональность или я должен закончить все тесты раньше?
Я определяется этим, что программное обеспечение должно быть в бета версии, пока покрытие кода разумным не будет достигнута. В это время он находится на версии 0.9-beta
.
Если я добавлю новые функции, должен ли я следовать семантической версии, сохраняя beta? Например, следующие итерации 0.10-beta
,и т. Д. До тех пор, пока испытания не будут выполнены, когда, наконец, он превратится в не бета-версии.
Если вы хотите, чтобы проверить мой проект, вот ссылка:octaviospain.github.io/Musicott
Забудьте о покрытии кода. Высокий охват кода обычно превращается в цель (вместо того, чтобы быть просто метрикой с низким значением), и когда это происходит, на качество тестов влияет. Программист начинает писать неестественные, запутанные тестовые примеры, чтобы запустить непокрытый код. Вместо этого сконцентрируйтесь на написании тестов, которые описывают функциональность. Время от времени запускайте тестовый набор с охватом кода. Если тесты ясны и покрывают ожидаемую функциональность, тогда покрытие кода говорит вам, что непокрытый код на самом деле не нужен. Удалите его вместо того, чтобы писать тесты, чтобы получить его. – axiac
Ну, 8% - низкий уровень покрытия кода. Напиши больше тестов, но не используйте линейное покрытие кода как руководство для тестирования. Написание тестов даже после того, как вы написали проверенный код, поможет вам лучше понять поток приложений. – axiac
@axiac благодарю вас за ответ, я хотел иметь более высокий охват кода, чтобы сделать проект более привлекательным, как и много проектов с открытым исходным кодом на github, с CI _passing_ на зеленом, зеленом покрытии и так далее. Я понимаю, что включение в цель не является правильным способом проверки моего кода. – ottogarcia