在哪里存储测试(项目结构 - 最佳实践)?

Where store Tests (project structure - best practice)?

我们有许多不同的方法来在 GO 中实现项目结构。

我的问题是 存储测试实施的最佳方式

  1. 分别(作为JavaMaven/Gradle标准)

    ├── pkg
    │   ├── colocator
    │   │   ├── some_impl.go
    │   │   └── ...
    │   ├── common
    │   │   └── ...
    │   └── dashboard
    │       └── ...
    ├── test
    │   │  └── internal
    │   │      └── some_test_utils.go
    │   ├── pkg
    │   │   ├── colocator
    │   │   │   ├── mocks
    │   │   │   │   └── some_mock.go
    │   │   │   └── some_impl_test.go
    │   │   ├── ...
    
  2. 到位

    ├── pkg
    │   ├── colocator
    │   │   ├── mocks
    │   │   │   └── some_mock.go
    │   │   ├── some_impl.go
    │   │   └── some_impl_test.go
    
  3. 等...

?

你的第二个实现是'correct' go way。此外,您不必担心那些测试会占用 space 之类的东西。编译器会在您构建包时忽略。