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

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

5
Тестирование списка ... Все в одном тесте или один тест для каждого условия?
Я проверяю, что функция делает то, что ожидалось в списке. Итак, я хочу проверить f(null) -> null f(empty) -> empty f(list with one element) -> list with one element f(list with 2+ elements) -> list with the same number of elements, doing what expected Для этого, каков наилучший подход? Тестирование …
21 unit-testing  tdd 

4
Является ли функциональное программирование жизнеспособной альтернативой шаблонам внедрения зависимостей?
Недавно я читал книгу под названием « Функциональное программирование на C #», и мне пришло в голову, что неизменяемая и не имеющая состояния природа функционального программирования обеспечивает результаты, аналогичные шаблонам внедрения зависимостей, и, возможно, даже лучший подход, особенно в отношении модульного тестирования. Я был бы признателен, если бы кто-либо, имеющий …

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

5
Как я могу провести модульное тестирование класса, который требует вызова веб-службы?
Я пытаюсь протестировать класс, который вызывает некоторые веб-сервисы Hadoop. Код в значительной степени имеет вид: method() { ...use Jersey client to create WebResource... ...make request... ...do something with response... } например, есть метод создания каталога, метод создания папки и т. д. Учитывая, что код имеет дело с внешним веб-сервисом, который …

3
Хрупкие юнит-тесты из-за необходимости чрезмерного издевательства
Я боролся со все более раздражающей проблемой, касающейся наших модульных тестов, которые мы внедряем в моей команде. Мы пытаемся добавить модульные тесты в унаследованный код, который не был хорошо разработан, и, хотя у нас не было никаких проблем с фактическим добавлением тестов, мы начинаем бороться с тем, как тесты получаются. …

6
Имеет ли смысл добавлять модульные тесты для хорошо известного устаревшего кода?
Я говорю о модульных тестах в смысле TDD. (Не автоматизированная «интеграция», или то, что вы любите называть тестами.) Устаревший код как в: (C ++) код без тестов. (см .: « Эффективная работа Майкла Фезерса с устаревшим кодексом» ) Но также унаследованный код, такой как: Код, с которым наша команда работала …
21 c++  tdd  legacy  unit-testing 

7
Что вы можете сделать с качеством существующих интеграционных и модульных тестов, будучи новым парнем в команде?
Повторяющаяся тема, с которой я столкнулся в своей карьере, - это появление нового разработчика в команде и быстрое недоверие к существующему модулю и комплектам тестов интеграции. Во время собеседования администрация говорит вам, что они «решительно поддерживают юнит-тестирование» и открыто его поощряют. Они делают, но все в самих тестах просто неправильно. …

7
Лучшая книга, статьи и литература по юнит-тестированию [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

6
Как удалить функцию или функцию при использовании TDD
В текстах о TDD я часто читал об «устранении дублирования» или «улучшении читаемости» на этапе рефакторинга. Но что заставляет меня удалить неиспользуемую функцию? Например, скажем, есть класс Cс методами a()и b(). Теперь я думаю, что было бы неплохо иметь метод, f()который используется C. Фактически f()заменяет все вызовы, b()за исключением модульных …

3
Дублирование констант между тестами и рабочим кодом?
Хорошо или плохо дублировать данные между тестами и реальным кодом? Например, предположим, у меня есть класс Python, FooSaverкоторый сохраняет файлы с определенными именами в заданный каталог: class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() elif type …

8
Есть ли более простой способ проверить валидацию аргумента и инициализацию поля в неизменяемом объекте?
Мой домен состоит из множества простых неизменяемых классов, таких как: public class Person { public string FullName { get; } public string NameAtBirth { get; } public string TaxId { get; } public PhoneNumber PhoneNumber { get; } public Address Address { get; } public Person( string fullName, string nameAtBirth, …
20 c#  unit-testing 

3
Разработка модульных тестов для системы с состоянием
Фон Разработка через тестирование стала популярной после того, как я уже закончил школу и в промышленности. Я пытаюсь научиться этому, но некоторые важные вещи все еще избегают меня. Сторонники TDD говорят много вещей, таких как (далее называемый «принцип единого утверждения» или SAP ): Некоторое время я думал о том, как …

3
Трудности с TDD и рефакторингом (или - Почему это так больно, чем должно быть?)
Я хотел научить себя использовать подход TDD, и у меня был проект, над которым я давно хотел работать. Это был не большой проект, поэтому я подумал, что это будет хорошим кандидатом на TDD. Однако я чувствую, что что-то пошло не так. Позвольте мне привести пример: На высоком уровне мой проект …

3
Модульное тестирование C ++: что тестировать?
TL; DR Написание хороших, полезных тестов сложно и дорого обходится в C ++. Можете ли вы опытные разработчики поделиться своим обоснованием того, что и когда тестировать? Длинная история Раньше я занимался разработкой на основе тестов, фактически, всей моей командой, но у нас это не получалось. У нас есть много тестов, …

3
Как правильно сравнить двойные значения на равенство в модульном тесте?
Недавно я разработал модуль временных рядов, где мои временные ряды по сути являются SortedDictionnary<DateTime, double>. Теперь я хотел бы создать модульные тесты, чтобы убедиться, что этот модуль всегда работает и дает ожидаемый результат. Обычной операцией является вычисление производительности между точками во временном ряду. Поэтому я делаю временные ряды с, скажем, …

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