Нет обновлений flatpak в Ubuntu Software, но я вижу их в терминале

Я не вижу обновлений flatpak в Ubuntu Software, но после того, как я ввел flatpak update в терминал, появляется много обновлений, почему? enter image description here

1
задан 6 November 2018 в 17:55

4 ответа

По моему опыту, чем более низкий уровень Ваш код (за исключением того, чтобы быть тривиальным), тем больше модульных тестов значения относительно усилия, требуемого записать им. Поскольку Вы становитесь выше пищевая цепь, тесты становятся все больше тщательно продуманными и более дорогими.

Модульные тесты очень важны, потому что они говорят Вам, когда Вы повреждаете что-то во время рефакторинга.

Высокоуровневые тесты имеют свое собственное значение, но затем их больше не называют модульными тестами; их называют интеграционными тестами и приемочными испытаниями. Интеграционные тесты необходимы, потому что они говорят Вам, как хорошо различные компоненты программного обеспечения сотрудничают.

Приемочные испытания - то, что заканчивает клиент. Приемочные испытания обычно пишутся другими людьми (не программист) для обеспечения другой точки зрения; программисты склоняются к тестам записи на то, какие работы, тестеры пытаются повредить его путем тестирования того, что не работает.

Насмешка только полезна для модульных тестов. Для интеграционных тестов и приемочных испытаний, насмешка бесполезна, потому что она не осуществляет фактические компоненты системы, такие как база данных и коммуникационная инфраструктура.

44
ответ дан 31 October 2019 в 06:24

В стороне

Только затронуть Ваш полужирный оператор:

"Я должен тестировать поведение метода, не, что это называет правильную последовательность методов"

Поведение объекта под тестом является последовательностью мер, которые это принимает. Это - на самом деле тестирование "поведения", тогда как при высказывании "поведения метода", я думаю, что Вы имеете в виду тестирование с сохранением информации, как в, даете ему вход и проверяете корректный вывод.

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

Ответ

То, что в стороне, я лично никогда не пишу комплексные испытания для уровня UI. Если Вы используете MVVM, MVP или шаблон MVC для Вашего приложения, то в "команде с 1 разработчиком" уровень, это является отупляющим и контрпродуктивным для меня сделать так. Я вижу ошибки в UI, и да, насмешка поведений на этом уровне имеет тенденцию быть хрупкой. Я намного более обеспокоен проверкой, что мой базовый домен и уровни DAL работают правильно.

То, что значимо на верхнем уровне, является интеграционным тестом. Получил веб-приложение? Вместо того, чтобы утверждать, что Ваши методы контроллера возвращают ActionResult (тест небольшого значения), запишите интеграционный тест, который запрашивает все страницы в Вашем приложении и удостоверяется, что существует № 404 или 403's. Выполните его однажды на каждом развертывании.

Окончательный ответ

Я всегда следую правилу 80/20 с поблочным тестированием. Для получения того последнего 20%-го покрытия на высоком уровне, Вы говорите о, будет 80% Вашего усилия. Для моего персонального и большинства моих проектов работы, это не окупается.

Короче говоря, я соглашаюсь. Я записал бы интеграционные тесты и проигнорировал бы модульные тесты на код, который Вы описываете.

20
ответ дан 31 October 2019 в 06:24

При выполнении TDD Вы не должны тесты записи после реализации, а скорее наоборот. Таким образом, Вы также избежите проблемы того, чтобы заставлять тест соответствовать написанному коду. Вероятно, необходимо протестировать определенные вызовы метода в тех единицах, но не их последовательность (если это не обязательно для доменной проблемы - бизнес-процесс).

И иногда совершенно выполнимо не записать тест для определенного метода.

0
ответ дан 31 October 2019 в 06:24

В целом я полагаю, что тестирование этого типа метода/команды готово к уровню интеграционного тестирования. А именно, я, "модульный тест" на меньший, низкий уровень управляет, чтобы (обычно) не имели побочных эффектов. Если я действительно хочу к модульному тесту что-то, что не соответствует той модели, первая вещь, которую я делаю, видят, могу ли я осуществить рефакторинг/перепроектировать, чтобы заставить его соответствовать.

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

  1. Запись, как это назвали для получения данных
  2. Возвратите консервированную запись данных, как это было
  3. Запись, как это назвали для вставки данных, которыми управляют,
0
ответ дан 31 October 2019 в 06:24

Другие вопросы по тегам:

Похожие вопросы: