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

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

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

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

4
Как протестировать код, который зависит от сложных API (например, Amazon S3)?
Я борюсь с тестированием метода, который загружает документы в Amazon S3, но я думаю, что этот вопрос относится к любой нетривиальной зависимости API / external. У меня есть только три возможных решения, но ни одно из них не выглядит удовлетворительным: Запустите код, фактически загрузите документ, проверьте с помощью API AWS, …
13 testing  mocking 

4
Не нарушают ли макеты принцип Open / Closed?
Некоторое время назад я прочитал в ответе о переполнении стека, которое не могу найти, предложение, объясняющее, что вы должны тестировать публичные API, и автор сказал, что вы должны тестировать интерфейсы. Автор также объяснил, что если реализация метода изменилась, вам не нужно изменять тестовый пример, поскольку это нарушит контракт, обеспечивающий работоспособность …

2
Тестирование - БД в памяти против Mocking
При написании тестов, почему кто-то хотел бы использовать базу данных в памяти, а не просто издеваться над данными? Я мог видеть, что базы данных в памяти могут быть полезны для тестирования своих репозиториев. Но если использовать каркас (такой как Spring Data), тестирование репозиториев будет проверять каркас, а не логику приложения. …

3
Как смоделировать метод с жестко закодированным объектом?
Я работаю над приложением, которое имеет несколько слоев. Уровень доступа к данным для извлечения и сохранения данных из источника данных, бизнес-логика для управления данными, пользовательский интерфейс для отображения данных на экране. Я также занимаюсь модульным тестированием уровня бизнес-логики. Единственное требование - проверить поток логики бизнес-уровня. Поэтому я использую инфраструктуру Moq …

3
Насмешливый класс бетона - не рекомендуется
Я только что прочитал отрывок из книги «Растущее объектно-ориентированное программное обеспечение», в которой объясняются некоторые причины, по которым не рекомендуется издеваться над конкретным классом. Вот пример кода юнит-теста для класса MusicCentre: public class MusicCentreTest { @Test public void startsCdPlayerAtTimeRequested() { final MutableTime scheduledTime = new MutableTime(); CdPlayer player = new …

1
Сколько насмешек «просто правильно»?
Я назвал вопрос в шутку, потому что уверен, что «это зависит», но у меня есть некоторые конкретные вопросы. Работая с программным обеспечением, имеющим много глубоких уровней зависимости, моя команда привыкла довольно широко использовать макеты для отделения каждого модуля кода от зависимостей, находящихся под ним. Поэтому я был удивлен, что Рой …

2
Как будут обнаружены ошибки при создании макетов на динамическом языке?
Проблема возникает при выполнении TDD. После нескольких тестовых прохождений типы возвращаемых данных некоторых классов / модулей меняются. В статически типизированном языке программирования, если предыдущий смоделированный объект использовался в тестах какого-либо другого класса и не был изменен для отражения изменения типа, тогда произойдут ошибки компиляции. Однако для динамических языков изменение типов …

5
TDD: макетирование тесно связанных объектов
Иногда объекты просто должны быть тесно связаны. Например, CsvFileкласс, вероятно, должен будет тесно работать с CsvRecordклассом (или ICsvRecordинтерфейсом). Однако из того, что я узнал в прошлом, одним из основных принципов разработки, основанной на тестировании, является «Никогда не тестируйте более одного класса за раз». Это означает, что вы должны использовать ICsvRecordмакеты …
10 tdd  coupling  mocking 

1
Как функциональный стиль помогает с насмешливыми зависимостями?
Из интервью с Кентом Беком в недавнем выпуске журнала Java: Бинсток: давайте обсудим микросервисы. Мне кажется, что первое тестирование на микросервисах усложнилось бы в том смысле, что некоторым службам для функционирования потребуется присутствие целого ряда других служб. Ты согласен? Бек: Кажется, что это один и тот же набор компромиссов в …

4
Как бы выглядел новый язык, если бы он был разработан с нуля, чтобы быть простым для TDD?
С некоторыми наиболее распространенными языками (Java, C #, Java и т. Д.) Иногда кажется, что вы работаете вразрез с языком, когда вы хотите полностью TDD своего кода. Например, в Java и C # вы захотите имитировать любые зависимости ваших классов, и большинство фальшивых фреймворков рекомендуют вам имитировать интерфейсы, а не …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.