JUnit文件结构,最佳实践(帮助类放置)

tom*_*maj 2 java junit gradle

已建立的标准

我组织我的代码,以便my test-folder与my -folder具有相同的包main.我的测试类名称与我的类相同,但附加了Test.

到现在为止还挺好.

问题

在我的项目中,我发现自己util在我的文件test夹中创建了一个-package.在那里我保留了一些项目特定的"测试辅助类".

src  
?
????main
    ?   
    ????java
    ?   ?
    ?   ???? myPackage
    ?        MyClass.java
    ?        AnotherClass.java
    ?
    ????test
        ?
        ???? myPackage
        ?    MyClassTest.java
        ?    AnotherClassTest.java
        ?
        ???? util
             NiceTestUtil.java
Run Code Online (Sandbox Code Playgroud)

"问题"是我讨厌不对称.A util-package in test,感觉它应该测试相应util的包main.相反,它包含我的助手类.

我一直在想,也许这个util包属于main,但也感觉不对,因为它会混乱.

我使用JUnit 4.11和Gradle(如果它对任何人都很重要).

题:

什么被认为是"测试助手类"的最佳实践,文件结构?

zde*_*ine 5

将课程放入项目的测试部分是正确的.

唯一可能对您有所帮助:如果NiceTestUtil仅用于测试myPackage,您可以将该类移动到该包.

如果它可能被其他软件包的测试使用,我认为你将不得不忍受这种不对称:-)

没有什么不好的.以生产类 - >测试类的方式进行对称是一种很好的做法.但它并不一定适用于其他方向测试类 - >生产类.

我想到的最后一件事是:如果您NiceTestUtil可以跨项目使用,则可以为它创建单独的工件(项目)并将其用作测试范围的依赖项.这将消除不对称性,但是为了维护两个项目的成本(但NiceTestUtil在将来消除可能的代码重复性).