4.2.3. Пример интеграционного тестированияПродемонстрируем тестирование взаимодействий на примере взаимодействия класса TCommandQueue и класса TCommand. Как и при модульном тестировании разработаем спецификацию тестового случая (Таблица 6). Таблица 6. Спецификация тестового случая для интеграционного тестирования
На основе этой спецификации разработан тестовый драйвер - класс TCommandQueueTester, который наследуется от класса Tester (п. 4.1.4). Класс содержит следующий конструктор, в котором создаются объекты классов TStore, TterminalBearing и объект типа TcommandQueue; public TCommandQueueTester() { И методы, реализующие тесты. Каждый тест реализован в отдельном методе. 1. Метод Run, в котором вызываются методы тестов. 2. Метод dump, который сохраняет в log-файле теста информацию обо всех командах, находящихся в очереди в формате <N : CommandName> - <номер позиции в очереди: полное название команды>. 3. Точка входа в программу - метод Main, в котором происходит создание экземпляра класса TCommandQueueTester. Теперь создадим тест, который проверяет, создается ли объект типа TCommand, и добавляется ли команда в конец очереди. private void TCommandQueueTest1() { В класс включены еще два разработанных теста. После завершения теста следует просмотреть текстовый журнал теста, чтобы сравнить полученные результаты с ожидаемыми результатами, заданными в спецификации тестового случая TCommandQueueTest1. //////////////////// TCommandQueue Test1 //////////////////
|