2015-08-28 6 views
0

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

  1. Извлечение из нескольких источников, относящихся к этому идентификатору
  2. подтверждения информации, что я извлекаю

    2.1 Если проверка завершается успешно, переходите к следующему извлечению.

    2.2 Если проверка не выполнена, сделайте первый шаг для следующего id

  3. После экстракции производится из всего сервиса, я получаю всю информацию, преобразование и формирует значение объекта

Для экстракции, я создал класс для каждой службы я ударяя и получить информацию ,

Я обращаюсь к объекту классов извлечения в преобразовании и выполняю преобразование.

Мой класс преобразования выглядит примерно так:

 builder 
     .field1(getField1(extract1)) 
     .field2(getFiedl2(extract1, extract2)) 
     .field3(getField3(extract3)) 
     .... 
     .field100+(getField(extract..)) 
    return builder; 

Теперь я хочу писать тесты для преобразования я делаю. У меня возникают проблемы с организацией тестовых случаев.

Если я создаю класс для каждого метода, то я бы закончил более 100 классов. Также, если я подхожу к 1 тестовому классу для каждого класса, тогда я бы написал все тестовые примеры в одном классе, и стало бы очень трудно понять.

Может ли кто-нибудь предложить, что делать?

ответ

0

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

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