title: JUnit file structure, best practices (helper classes placement)
body: <p><strong>Established standards</strong></p>
  
  <p>I organize my code, so that my <code>test</code>-folder has the same packages as my <code>main</code>-folder. My test classes, are named the same as my classes, but with <em>Test</em> appended.</p>
  
  <p><em>So far so good.</em></p>
  
  <p><strong>Problem</strong></p>
  
  <p>I find myself creating a <code>util</code>-package in my <code>test</code>-folders, on my projects. And there I keep some project specific "test helper classes". </p>
  
  <pre><code>src  
  │
  └───main
      │   
      ├───java
      │   │
      │   ├─── myPackage
      │        MyClass.java
      │        AnotherClass.java
      │
      ├───test
          │
          ├─── myPackage
          │    MyClassTest.java
          │    AnotherClassTest.java
          │
          ├─── util
               NiceTestUtil.java
  </code></pre>
  
  <p>The "problem" is that I hate the asymmetry. A <code>util</code>-package in <code>test</code>, feels like it should be testing corresponding <code>util</code>-packages in <code>main</code>. Instead it contains my helper classes.</p>
  
  <p>I've been thinking that maybe the <code>util</code> package belongs in <code>main</code>, but that doesn't feel right either, since it will clutter up main. </p>
  
  <p><em>I use JUnit 4.11, and Gradle (if it matters to anyone)</em>.</p>
  
  <p><strong>Question:</strong></p>
  
  <p>What is considered the best practice, file structure, for "test helper classes"?</p>