建立标准

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

到现在为止还挺好。

问题

我发现自己在自己的项目的util -folders中创建了一个test -package。在这里,我保留了一些特定于项目的“测试帮助程序类”。

src
│
└───main
    │
    ├───java
    │   │
    │   ├─── myPackage
    │        MyClass.java
    │        AnotherClass.java
    │
    ├───test
        │
        ├─── myPackage
        │    MyClassTest.java
        │    AnotherClassTest.java
        │
        ├─── util
             NiceTestUtil.java

“问题”是我讨厌这种不对称性。 util中的test -packages感觉应该在util中测试相应的main-packages。相反,它包含我的帮助程序类。

我一直在想util包属于main,但这也不对,因为它将使main困惑。

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

问题:

什么是“测试帮助程序类”的最佳实践,即文件结构?

最佳答案

将类放入项目的测试部分是正确的。

唯一可能对您有所帮助的事情:如果NiceTestUtil仅用于myPackage中的测试,则可以将该类移至该程序包。

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

没有什么不好的。以生产级别->测试级别的方式具有对称性是一个好习惯。但这并不一定适用于其他方向的测试类->生产类。

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

关于java - JUnit文件结构,最佳实践(帮助程序类的放置),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32840670/

10-17 00:39
查看更多