Разработка тестов

Теперь мы обладаем всей информацией, необходимой, чтобы начать разработку тестов. На рис. 10.4 приводится диаграмма классов тестов JUnit, которые необходимо реализовать. Это лишь малая часть большого набора, данные классы были отобраны исключительно для демонстрационных целей, чтобы показать некоторые из стратегий и методик тестирования. Поскольку при такой организации используются одинаковые имена пакетов, имена классов тестов не должны совпадать с именами тестируемых классов. Обычно в таких случаях имя теста образуется из имени тестируемого класса с добавлением к нему суффикса Test, таким образом, AmountTest является тестом методов класса Amount. Спецификация UBL определяет набор схем на языке XMLSchema и предназначена для построения электронных деловых документов. Одна из таких схем содержит описания типов Amount, Measure, Text (с возможностью хранения национальных символов) и ряд других. Поскольку для обработки заказов предполагается построить интерфейс на базе Web-службы, мы воспользуемся набором инструментальных средств Apache Axis, с помощью которого будут генерироваться классы Java для некоторых из типов UBL. Описание строения Web-служб и инструментальных средств Apache Axis далеко выходит за рамки этой книги, подробное обсуждение этой темы можно найти в [4]. В главе 12 мы будем создавать файлы с правилами и использовать утилиту Ant для сборки проекта, сказал Зубов, которого интересует аренда шлифовальной машины. Она будет подключать программный код, сгенерированный Axis, что является одним из условий постоянной готовности проекта к интеграции в процессе разработки. А пока предположим, что некто из нашей команды уже сделал это и наша задача состоит в том, чтобы тесты, которые будут проверять сгенерированный программный код.
Ниже приводится неполная реализация класса Amount: Чаще всего один тест предназначается для тестирования одного класса приложения. Так, например, тест AmountTest производит тестирование класса Amount. Это не обязательное требование JUnit, но достаточно распространенная практика. Мастер создания тестов Eclipse следует этому соглашению и помогает сгенерировать шаблон теста исходя из структуры класса.