Skip to content

Instantly share code, notes, and snippets.

@szpak
Last active December 15, 2022 17:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save szpak/b3e869222c9a8aa9db80 to your computer and use it in GitHub Desktop.
Save szpak/b3e869222c9a8aa9db80 to your computer and use it in GitHub Desktop.

TDD z IntelliJ Idea (JUnit 5)

Przydatne pluginy

Przydatne w czasie ćwiczeń

Opcjonalne

Instalacja

Pluginy można zainstalować z menadżera pluginów IDE:

CTRL-SHIFT-A -> Plugins -> Marketplace

Konfiguracja

Lepszy szablon metody testowej

JUnit 5

CTRL-SHIFT-A -> File and Code Templates -> Code

JUnit5 Test Method zmieniamy na coś podobnego do:

@org.junit.jupiter.api.Test
void should${NAME}() {
    //given
    ${BODY}
    //when
    //then
}

Szablon można wstawić używając ALT-INSERT w klasie testowej.

JUnit 4 (opcjonalnie - do starszych projektów przed migracją)

CTRL-SHIFT-A -> File and Code Templates -> Code

JUnit4 Test Method zmieniamy na coś podobnego do:

@org.junit.Test
public void should${NAME}() {
  //given
  ${BODY}
  //when
  //then
}

Dodatkowo warto z metody JUnit4 SetUp Method usunąć throws Exception.

Szablon można wstawić używając ALT-INSERT w klasie testowej.

Skróty klawiatore dla przechodzenia między podzielonymi oknami

CTRL-SHIFT-A -> Keymap (wybrać to "drugie" Keymap ... Settings):

  • Goto Next Splitter (wpisać w pole wyszukiwania po prawo) -> Right click -> Add Keyboard Shortcut -> przypisać CTRL-ALT-]
  • Goto Previous Splitter (wpisać w pole wyszukiwania po prawo) -> Right click -> Add Keyboard Shortcut -> przypisać CTRL-ALT-[

Uwaga. Skróty mogą konfliktować, ale nie powinno to przeszkadzać (można pozostawić te inne przypisania). Można też jakiś inny własny wybrać (i zapamiętać :-) ).

Inne

CTRL-SHIFT-A -> Add unambiguous imports on fly -> włączyć (alternatywnie zaznaczyć Settings -> Editor -> General -> Auto import -> Add unambiguous imports on fly)

CTRL-SHIFT-A -> Mouse: Change font size with Ctrl-Mouse Wheel -> włączyć (alternatywnie zaznaczyć Settings -> Editor -> General -> Change font size with Ctrl-Mouse Wheel)

Konfiguracja proxy dla Gradle (tylko, gdy niezbędne do wyjścia na świat)

W celu umożłiwienia działania Gradle (Wrappera) w środowisku wymuszającym dostępu do internetu za pomocą proxy należy ustawiać zmienne systemowe definiujące ten serwer: http.proxyHost, http.proxyPort, http.proxyUser i http.proxyPassword.

Alternatywnie można dane te skonfigurować w pliku ~/.gradle/gradle.properties:

systemProp.http.proxyHost=proxy.example.com
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password

Uwaga! Przy korzystaniu z pliku gradle.properties trzeba pamiętać o prefiksie systemProp..

Uwaga2 Trzymanie hasła domenowego w niezaszyfrowanej postaci na dysku tworzy ryzyko związane z bezpieczeństwem

Wybrane skróty

  • CTRL-SHIFT-A - możliwość wyszukania po nazwie akcji (komendy) i opcji (w ustawieniach)
  • ALT-ENTER - przekształcenia na aktualnie wskazywanym przez kursor fragmencie kodu (np. utworzenie nowej metody o wybranych parametrach)
  • SHIFT-CTRL-T - przeskok do między testem i klasą testowaną (również utworzenie nowej klasy testowej)
  • CTRL-E - przeskok między ostatnio używanymi klasami
  • ALT-CTRL-SHIFT-T - menu wyświetlające dostępne opcje refaktoringu (warto zapamiętać skrót dla często powtarzanych operacji)

Więcej informacji: http://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf - warto sobie wydrukować i zerkać

Ciekawe biblioteki

Potencjalnie mniej znane ciekawe biblioteki wykorzystane w czasie szkolenia:

  • AssertJ - rozbudowany zestaw asersji

Informacje licencyjne

Autor: Marcin Zajączkowski. Utwór jest dostępny na licencji CC BY-SA 4.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment