Wpis z mikrobloga

Czy w testach powinienem tworzyć zmienne?
Mam taki test:

@test
void whenUserExist_DeleteUserSessions() {
delete.deleteUserById(1);
assertThat(sessionChecker.hasActiveSession(1)).isFalse();
}

Doszedłem do wniosku, że do końca może nie być wiadome, co oznacza liczba „1” w tej asercji, więc postanowiłem ją zmienić na:

@test
void whenUserExist_DeleteUserSessions() {
int userId = 1;
delete.deleteUserById(1);
assertThat(sessionChecker.hasActiveSession(userId)).isFalse();
}

Co myślicie? Jaka jest Wasza opinia nt. zmiennych w testach?
#naukaprogramowania #java
  • 21
  • Odpowiedz
Nie tylko zmienne ale często nawet stałe.


@pulaas: @Kamishimi: Do rzeczy typu "id obiektu potrzebnego w testach" zdecydowanie, szczególnie że zaraz to samo id pojawi się w innym testcase.

A jak coś się powtarza w kilku miejscach, to dobrze jest stworzyć interface, w którym będziesz przechowywał stałe dostępne dla wszystkich testów w aplikacji


@pulaas: +1.

@Kamishimi: Następny etap to fabryczki z metodami budującymi całe obiekty potrzebne w testach,
  • Odpowiedz