Во-первых, это в порядке и нормально чувствовать себя разбитым, когда Вы сначала начинаете пытаться использовать TDD в своем стиле кодирования. Просто не становитесь нежелательными и выход, необходимо будет дать ему некоторое время. Это - главная парадигма, переключаются на нижний регистр, как мы думаем о решении проблемы в коде. Мне нравится думать о нем как то, когда мы переключились от процедурного до объектно-ориентированного программирования.
, Во-вторых, я чувствую, что разработка через тестирование является прежде всего действием дизайна, которое используется для изложения в деталях дизайна компонента путем создания теста, который сначала описывает API, который это собирается представить и как Вы собираетесь использовать, это - функциональность. Тест поможет сформировать и прессовать Систему Под Тестом, пока Вы не были в состоянии инкапсулировать достаточно функциональности для удовлетворения безотносительно задач, Вы, оказывается, продолжаете работать.
Взятие вышеупомянутый абзац в памяти, давайте посмотрим на Ваши вопросы:
я представил Вас сроку насмешки в ответе для вопроса один. Когда Вы вводите насмешку в свой арсенал для TDD, это существенно делает тестирование легче к краткому обзору далеко части, которые не являются частью системы под тестом. Вот некоторые ресурсы на платформах насмешки, там:
Один способ помочь в использовании TDD, помимо чтения о процессе, должен наблюдать, что люди делают это. Я рекомендую в наблюдении экранных бросков мировым судьей Boodhoo на DNRTV. Проверьте их:
Шаблонов разработки хорошо, они помогут Вам видеть, как термины, которые я представил, используются. Это также представит другой инструмент, названный Resharper и как это может упростить процесс TDD. Я не мог рекомендовать этот инструмент достаточно при выполнении TDD. Кажется, что Вы изучаете процесс, и Вы просто находите некоторые проблемы, которые были уже решены с использованием других инструментов.
я думаю, что сделал бы несправедливость сообществу, если бы я не обновил это путем добавления нового ряда Kent Beck на [1 117] Разработка через тестирование на Прагматически настроенном Программисте .
You need to create an alias for the mother.kind
. You do this like so.
Criteria c = session.createCriteria(Cat.class);
c.createAlias("mother.kind", "motherKind");
c.addOrder(Order.asc("motherKind.value"));
return c.list();
It's hard to know for sure without seeing the mappings (see @Juha's comment), but I think you want something like the following:
Criteria c = session.createCriteria(Cat.class);
Criteria c2 = c.createCriteria("mother");
Criteria c3 = c2.createCriteria("kind");
c3.addOrder(Order.asc("value"));
return c.list();