Вопросы с тегом «assertions»

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

51
Активы или юнит-тесты важнее?

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

38
Использование утверждений против создания исключений?

Часто, когда я пишу функцию, я хочу убедиться, что входные данные для нее действительны, чтобы как можно раньше обнаружить такие ошибки (я считаю, что это называется предварительными условиями). Когда предварительное условие не выполняется, я всегда выбрасываю исключение. Но я начинаю сомневаться в...

33
Можно ли написать слишком много утверждений?

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

23
Должен ли я использовать Debug.Assert сегодня?

Недавно я натолкнулся на какой-то недавно написанный код, в который было добавлено множество Debug.Assert (C #). Должны ли мы все еще использовать это широко, несмотря на использование TDD, BDD и модульного тестирования в...

20
Должны ли быть утверждения в сборках релиза

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

19
Является ли слишком много утверждений кода запахом?

Я действительно влюбился в модульное тестирование и TDD - я заражен тестом. Тем не менее, модульное тестирование обычно используется для общедоступных методов. Хотя иногда мне приходится проверять некоторые предположения-утверждения и в частных методах, потому что некоторые из них «опасны», и...

18
Модульные тесты: отложенные утверждения с Linq

Это нормально, чтобы добавить отложенные утверждения, как это var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Почему? Так что я могу выполнить итерацию только один раз, даже если операторы ожидают материализованную коллекцию, например:...

13
Как я могу улучшить свою проверку и обработку ошибок?

В последнее время я пытался понять, что такое правильное количество проверок и каковы правильные методы. У меня есть несколько вопросов по этому поводу: Как правильно проверить наличие ошибок (неверный ввод, плохие состояния и т. Д.)? Что лучше: явно проверять наличие ошибок или использовать такие...

12
Python - утверждать против if & return

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

10
Код контрактов / утверждает: что с дублирующимися проверками?

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

10
Утиная печать, проверка данных и напористое программирование на Python

О наборе утки : Утиному типированию способствует то, что он обычно не проверяет тип аргументов в теле методов и функций, полагается на документацию, понятный код и тестирование для обеспечения правильного использования. О проверке аргументов (EAFP: проще просить прощения, чем разрешения)....