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

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

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

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

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

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

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

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

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

5
Как я могу улучшить свою проверку и обработку ошибок?
В последнее время я пытался понять, что такое правильное количество проверок и каковы правильные методы. У меня есть несколько вопросов по этому поводу: Как правильно проверить наличие ошибок (неверный ввод, плохие состояния и т. Д.)? Что лучше: явно проверять наличие ошибок или использовать такие функции, как утверждения, которые можно оптимизировать …
13 c  testing  assertions 

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

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

2
Код контрактов / утверждает: что с дублирующимися проверками?
Я большой поклонник написания заявлений, контрактов или любых других типов проверок, доступных на языке, который я использую. Одна вещь, которая меня немного беспокоит, это то, что я не уверен, какова общая практика работы с дублирующимися чеками. Пример ситуации: сначала я пишу следующую функцию void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.