单元测试必须位于同一个包中?

时间:2010-09-01 04:14:45

标签: java unit-testing integration-testing

一本JUnit书中说“受保护的方法......这是测试类与他们测试的类位于同一个包中的一个原因”

有人可以分享他们如何组织单元测试和集成测试(包/目录明智)的经验吗?

2 个答案:

答案 0 :(得分:15)

在我的构建过程中,源目录是

java/src
java/test/unit
java/test/integration

测试和源代码在不同的路径中,但包是相同的

java/src/com/mypackage/domain/Foo.java
java/test/unit/com/mypackage/domain/FooTest.java
java/test/integration/com/mypackage/domain/FooTest.java

答案 1 :(得分:15)

我更喜欢maven directory layout。它可以帮助您以一种很好的方式将测试源和测试资源与应用程序源分开,并且仍允许它们成为同一个包的一部分。

我将它用于基于maven和ant的项目。

  project
    |
    +- src
        |
        +- main
        |    |
        |    +- java // com.company.packge (sources)
        |    +- resources
        |
        +- test
             |
             +- java // com.company.package (tests)
             +- resources