문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:junit:5 [2022/06/21 10:13] kwon37xi [참조] |
java:junit:5 [2022/08/23 13:07] kwon37xi [IntelliJ IDEA JUnit 5 migration] |
||
---|---|---|---|
줄 7: | 줄 7: | ||
===== API 개념 ===== | ===== API 개념 ===== | ||
* **테스트 코드 작성을 위한 API**와, 그렇게 작성한 **테스트를 수행하는 Engine**을 분리하였다. | * **테스트 코드 작성을 위한 API**와, 그렇게 작성한 **테스트를 수행하는 Engine**을 분리하였다. | ||
+ | |||
+ | |||
==== JUnit 4로 작성한 코드 ==== | ==== JUnit 4로 작성한 코드 ==== | ||
* JUnit 4 API로 작성한 코드도 JUnit 5에서 실행가능하다. | * JUnit 4 API로 작성한 코드도 JUnit 5에서 실행가능하다. | ||
줄 46: | 줄 48: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | ===== IntelliJ IDEA JUnit 5 migration ===== | ||
+ | * **Refactor -> Migrate Packages and Classes -> JUnit (4.x -> 5.0)** 을 실행하여 리팩토링을 바로 실행할 수 있다. | ||
+ | * 그 이후 '' | ||
+ | * **Structural Replace**를 사용하면 쉽게 된다. | ||
+ | * 변경된 파일들을 모두 선택하고 **Organize Imports(Ctrl+Alt+o)**를 해주는게 좋다. | ||
+ | * 기존 [[java: | ||
+ | * '' | ||
+ | * **Structural Search**를 사용한다. | ||
+ | * Live Templates 에서 다음과 같이 만든다. | ||
+ | * Applicable : '' | ||
+ | * Abbreviation : '' | ||
+ | * Description : '' | ||
+ | * Reformat according to style : check | ||
+ | * Use static import if possible : check | ||
+ | * Shorten FQ names : check | ||
+ | * Edit Variables -> '' | ||
+ | * Expression : '' | ||
+ | < | ||
+ | org.junit.jupiter.api.Assertions.assertThrows($EXCEPTION$.class, | ||
+ | $SELECTION$ | ||
+ | }); | ||
+ | </ | ||
+ | * 테스트 대상 예외 클래스의 이름을 복사('' | ||
+ | * '' | ||
+ | * 특히, '' | ||
+ | ==== Inspection 으로 하나씩 변경하기 ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[: | ||
+ | * **Settings -> Editor -> Inspections** : **JVM languages -> JUnit 4 test can be JUnit 5** 항목이 켜져 있어야 한다. | ||
+ | * JUnit 4 테스트 클래스에서 '' | ||
+ | * '' | ||
===== 참조 ===== | ===== 참조 ===== | ||
줄 85: | 줄 122: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | | + | * [[https:// |
- | | + | |
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||