Тесты модулей должны располагаться в одном пакете?

В книге JUnit говорится: "Защищенный метод... это одна из причин, по которой тестовые классы находятся в том же пакете, что и те классы, которые они тестируют"

Может ли кто-нибудь поделиться своим опытом по организации модульных тестов и тестов интеграции (пакет/каталог мудрый)?

Ответы

Ответ 1

в моем процессе сборки исходные каталоги

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

Ответ 2

Я предпочитаю макет каталога maven. Это помогает вам отличным образом отделить источники тестов и проверить ресурсы из ваших источников приложений и позволить им быть частью одного и того же пакета.

Я использую это для проектов на основе maven и ant.

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