Junit new instance vs Before

Viewed 151

Junit behavior is that it creates a new instance of a class for every test case. The same way @Before is executed once before each test case. Why do we need @Before when junit initializes the global variables for each test case. Check the example below. What is the difference between code1 and code2. Ex:

Code1

public class MyTest{
        int count = 1;


    @Test
    public void test1(){
        count++;
        assertEquals(2, count); 
    }

    @Test
    public void test2(){
        count++;
        assertEquals(2, count); 
    }
}

Code2

public class MyTest{
        private int count;

        @Before
        public void before(){
            count=1;
        }

        @Test
        public void test1(){
            count++;
            assertEquals(2, count); 
        }

        @Test
        public void test2(){
            count++;
            assertEquals(2, count); 
        }
    }
1 Answers
Related