Это в порядке для вызова спецификаций от совокупной фабрики для проверки, или тот вызов проверки принадлежит модульного теста (DDD)?

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

Если спецификация для совокупного корневого продукта используется для проверки, а не для создания, имеет смысл называть его из фабрики?

Или действительно ли модульный тест достаточно хорош?

8
задан Mark Rogers 21 April 2010 в 16:32
поделиться

1 ответ

Ответ, вероятно, зависит от того, как вы используете свои спецификации, и от того, сильно ли нарушается код в процессе создания .

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

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

Если спецификация агрегата корневой продукт используется для проверка, а не создание, имеет ли смысл называть это из внутри фабрики?

Да, но, вероятно, только если у вас возникли проблемы или вы не уверены в продукте фабрики.

Или юнит-тест достаточно хорош?

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

2
ответ дан 6 December 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: