Potrzebujesz sugestii na temat rozpoczęcia pracy z Junit

Nie korzystałem wcześniej z Junit i nie przeprowadzałem automatycznie testów jednostkowych.

Scenariusz: Zmieniamy nasze backendowe DAO z Sql Server na Oracle. Po stronie DB wszystkie zapisane procedury zostały przekształcone w oracle. Teraz, gdy nasz kod wywołuje te procedury składowania Oracle, chcemy się upewnić, że zwrócone dane są takie same jak w przypadku procedur przechowywanych na serwerze sql.

Na przykład mam w DAO następującą metodę:

  //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);
   }

teraz chcę napisać metodę testową Junit, która najpierw zadzwonigetHeadIdentifiers_old i wtedygetHeadIdentifiers i porównałby zwrócony obiekt (będzie musiał nadpisać równe i hash wIdentifierBean). Test przejdzie tylko wtedy, gdy oba obiekty są takie same.

W metodzie testera będę musiał podać parametr (w tym przypadku head) dla dwóch metod. Na razie zostanie to zrobione ręcznie. Tak, z parametrów front endu mogą być różne, a SP mogą nie zwracać dokładnych wyników dla tych parametrów. Ale myślę, że posiadanie tych przypadków testowych da nam trochę ulgi, że zwrócą te same dane ...

Moje pytania to:

Czy to dobre podejście?Będę miał wiele DAO. Czy piszę metody testowe wewnątrz samego DAO lub dla każdego DAO powinienem mieć oddzielną klasę testową JUnit?(może być pytanie n00b) Czy wszystkie przypadki testowe będą uruchamiane automatycznie? Nie chcę iść do przodu, by wywołać kilka rzeczy, aby wywołać wywołanie DAO.kiedy zostaną uruchomione testy, dowiem się, które metody zawiodły? a dla tych, które zawiodą, powie mi, która metoda testowa się nie powiodła?wreszcie jakieś dobre punkty wyjścia? wszelkie tutoriale, artykuły, które pokazują pracę z Junit

questionAnswers(4)

yourAnswerToTheQuestion