JUnit은 테스트 메소드 마다 테스트 인스턴스를 새로 만든다.

@TestInstance(Lifecycle.PER_CLASS)

@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS) // Study Instance를 한 개만 만듬.
class StudyTest {

    int value = 0;

    @FastTest
    @DisplayName("스터디 만들기 Fast")
    void create_new_Study() {
        System.out.println(this);
        System.out.println(value++);
        Study actual = new Study(1);
        assertThat(actual.getLimit()).isGreaterThan(0);
@SlowTest
    @DisplayName("스터디 만들기 slow")
    void create1_new_study_again() {

        System.out.println(this);
        System.out.println("create1 " + value++);
    }

@TestInstance(TestInstance.Lifecycle.PER_CLASS)

이것을 쓰지 않을 때, JUnit은 테스트 메소드 마다 테스트 인스턴스를 새로 만들기 때문에,

value값이 계속 증감하기를 기대했지만, value++을 해도 콘솔창에는 0으로 나오게 된다.