在 GoLang 中是否存在分离单元测试和集成测试的最佳实践(证明) ?我有单元测试(不依赖任何外部资源,因此运行得非常快)和集成测试(确实依赖任何外部资源,因此运行得较慢)。因此,当我说 go test
时,我希望能够控制是否包含集成测试。
最直接的方法似乎是在主体中定义一个整合标志:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
然后在每个集成测试的顶部添加一个 if 语句:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
我只能做到这样吗?我搜索了作证文件看看是否有什么变数命名原则能帮我完成这件事但什么也没找到。我错过了什么吗?