нужны предложения по началу работы с Junit

Я не использовал Junit раньше и не проводил модульное тестирование автоматически.

Сценарий: Мы меняем наш бэкэнд DAO 'с сервера SQL на Oracle. Таким образом, на стороне БД все хранимые процедуры были преобразованы в Oracle. Теперь, когда наш код вызывает эти хранимые процедуры Oracle, мы хотим убедиться, что возвращаемые данные такие же, как и в хранимых процедурах SQL Server.

Так, например, у меня есть следующий метод в DAO:

  //this is old method. gets data from sql server
  public IdentifierBean getHeadIdentifiers_old(String head){
      HashMap parmMap = new HashMap();
      parmMap.put("head", head);
      List result = getSqlMapClientTemplate().queryForList("Income.getIdentifiers", parmMap);
      return (IdentifierBean)result.get(0);
   }
  //this is new method. gets data from Oracle  
  public IdentifierBean getHeadIdentifiers(String head){
      HashMap parmMap = new HashMap();
      parmMap.put("head", head);
      getSqlMapClientTemplate().queryForObject("Income.getIdentifiers", parmMap);
      return (IdentifierBean)((List)parmMap.get("Result0")).get(0);
   }

Теперь я хочу написать тестовый метод Junit, который будет сначала вызыватьgetHeadIdentifiers_old а потомgetHeadIdentifiers и будет сравнивать возвращаемый объект (придется перезаписать равно и хэш вIdentifierBean). Тест пройдет только тогда, когда оба объекта одинаковы.

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

Мои вопросы:

Это хороший подход?Я буду иметь несколько DAO 's. Должен ли я написать методы тестирования внутри самого DAO или для каждого DAO у меня должен быть отдельный класс тестирования JUnit?(может быть, вопрос n00b) все тесты будут запускаться автоматически? Я не хочу переходить на внешний интерфейс, чтобы вызывать DAO.Когда тесты пройдут, я узнаю, какие методы провалились? и для тех, кто потерпел неудачу, это скажет мне метод испытания, который потерпел неудачу?наконец, есть ли хорошие отправные точки? любые учебники, статьи, которые показывают работу с Junit

Ответы на вопрос(4)

Ваш ответ на вопрос