Вопросы с тегом «unit-testing»

Модульное тестирование - это метод, с помощью которого отдельные блоки исходного кода тестируются, чтобы определить, пригодны ли они для использования.

3
Ортогональность юнит-тестов против краткости юнит-тестов
Я пишу юнит-тесты для системы рулевого управления для видеоигры. Система имеет несколько вариантов поведения (избегайте этой области по причине A, избегайте этой области по причине B, каждый из которых добавляет немного контекста к карте региона. Затем отдельная функция анализирует карту и производит желаемое движение. У меня проблемы с решением, как …
14 tdd  unit-testing 

4
Когда я должен использовать фиктивные объекты?
Я прочитал много вещей о TDD, но у меня все еще есть сомнения. Например, у меня есть эти диаграммы классов: Это простой пример, просто чтобы узнать о TDD и макете объектов. Какой тест я должен написать первым? Продукт , затем линия и последний, заказ ? Если я сделаю это, должен …

6
Написание юнит-тестов в середине
Является ли юнит-тестирование 100% -ной сделкой? Я просматривал свои старые проекты и начал добавлять функции, на этот раз с модульным тестированием. Однако бесполезно ли это, если я собираюсь повторно использовать компоненты прошлого, которые не прошли модульные тесты? Нужно ли писать модульные тесты для всех предыдущих классов и не беспокоиться вообще, …

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

5
оператор switch - обработка случая по умолчанию, когда он не может быть достигнут
Если я использую оператор switch для обработки значений из перечисления (принадлежащего моему классу) и у меня есть регистр для каждого возможного значения - стоит ли добавлять код для обработки случая «по умолчанию»? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) { case MyFoo: DoFoo(); break; …

7
Создание модульных тестов на уровне приложения CRUD, как я могу сделать тесты независимыми?
Поэтому я пытаюсь сделать свои юнит-тесты как можно более простыми, но это становится проблематичным, когда я тестирую несколько простых методов добавления / удаления. Для метода add мне нужно создать фиктивный объект и добавить его, а затем, после успешного прохождения теста, я должен удалить фиктивный объект. И для теста удаления мне, …

4
Зачем использовать phpunit, когда можно использовать традиционное ручное тестирование?
Когда я делаю веб-приложение, я проверяю свою работу в браузере, чтобы увидеть, получаю ли я какие-либо ошибки и исправляю ли их. Я сделал сложные приложения, и тестирование таким образом было легко и быстро. Я посмотрел много видео на YouTube на phpunit и не могу найти цель для этого. Почему эта …

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

1
Как тестировать код обработки изображения?
Я работаю в области обработки изображений (в основном OCR), и мне интересно, как мне интегрировать модульные тесты в мою разработку. Я уже использую модульные тесты для более «распространенного» типа кода, но когда имею дело с кодом обработки изображений, я не уверен, как с этим справиться. Этот вид кода всегда требует …

7
Может ли шаблон Стратегии быть реализован без существенного разветвления?
Шаблон Стратегии хорошо работает, чтобы избежать огромных конструкций if ... else и облегчить добавление или замену функциональности. Тем не менее, это все еще оставляет один недостаток, на мой взгляд. Кажется, что в каждой реализации все еще должна быть ветвящаяся конструкция. Это может быть фабрика или файл данных. В качестве примера …

4
Как вы можете TDD для ошибки, которая может быть проверена только после того, как она была исправлена?
Вот один пример: мое веб-приложение содержит перетаскиваемые элементы. При перетаскивании элемента браузер создает «призрачное изображение». Я хочу удалить «призрачное изображение» при перетаскивании, и я пишу тест для этого поведения. Моя проблема в том, что я изначально не представляю, как исправить эту ошибку, и единственный способ написать тест - это исправить …

5
Модульное тестирование пустого метода
Чтобы исправить ошибку в приложении, я изменил метод с именем postLogin, добавив вызов к существующему методу с именем getShoppingCart. Код protected void postLogin() { getShoppingCart(); } Однако я не уверен, для чего лучше всего написать модульный тест postLogin. Подход 1 Используйте команду verify from Mockito, чтобы просто убедиться, что метод …

4
Как мне написать тест для чистого метода, который ничего не возвращает?
У меня есть куча классов, которые занимаются проверкой значений. Например, RangeValidatorкласс проверяет, находится ли значение в указанном диапазоне. Каждый класс валидатора содержит два метода:, is_valid(value)который возвращает Trueили Falseзависит от значения, и ensure_valid(value)который проверяет указанное значение и либо ничего не делает, если значение является допустимым, либо выдает конкретное исключение, если значение …

2
Как пройти тестирование неинъекционного кода?
Итак, у меня есть следующий фрагмент кода, который используется во всей моей системе. В настоящее время мы пишем модульные тесты ретроспективно (лучше поздно, чем никогда не было моим аргументом), но я не понимаю, как это будет тестироваться? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter …

3
Различия между заданным, когда тогда (GWT) и Arrange Act Assert (AAA)?
В TDD есть синтаксис Arrange Act Assert (AAA): [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } В тестах написания …
13 c#  unit-testing  tdd  bdd 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.