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

2022-09-03 12:12:24

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

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


答案 1

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

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

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

答案 2

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

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

推荐