title: Calling a private method inside every JUnit before any test steps
body: <p>I want to know if there is any technical difference between the following, when writing JUnit tests:</p>
  
  <p><strong>Option 1:</strong>
  Define a setup method, i.e annotated with <code>@Before</code>, to initialize test fixture state before any <code>@Test</code> method is run.</p>
  
  <p><strong>Option 2:</strong>
  Define a private method - just a plain old private method without any annotation - that does the same initialization, and make the first line of every <code>@Test</code> method a call to this method. (Ignore the possibility of someone forgetting to call the method in every test. I am looking for technical differences, not human factors)</p>
  
  <p><em>Example of Option 2:</em></p>
  
  <pre><code>public class MyTest {
  
      private void runSetupLogic() {
          // whatever @Before method would have done
      }
  
      @Test
      public void testMethod1() {
          runSetupLogic();
          // test logic
      }
  
      @Test
      public void testMethod2() {
          runSetupLogic();
          // test logic
      }
  }
  </code></pre>