Có phương pháp hay nhất được thiết lập để tách các bài kiểm tra đơn vị và bài kiểm tra tích hợp trong GoLang (làm chứng) không? Tôi có một kết hợp các bài kiểm tra đơn vị (không dựa vào bất kỳ tài nguyên bên ngoài nào và do đó chạy rất nhanh) và kiểm tra tích hợp (dựa vào bất kỳ tài nguyên bên ngoài nào và do đó chạy chậm hơn). Vì vậy, tôi muốn có thể kiểm soát việc có đưa các bài kiểm tra tích hợp vào hay không khi tôi nói go test
.
Kỹ thuật đơn giản nhất dường như là để xác định một cờ-tích hợp trong chính:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
Và sau đó để thêm câu lệnh if vào đầu mỗi bài kiểm tra tích hợp:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
Đây có phải là điều tốt nhất tôi có thể làm? Tôi đã tìm kiếm tài liệu làm chứng để xem có lẽ có quy ước đặt tên hoặc điều gì đó thực hiện điều này cho tôi, nhưng không tìm thấy bất cứ điều gì. Tui bỏ lỡ điều gì vậy?
var integration = flag.Bool("integration", true, "Enable integration testing.")
bên ngoài một hàm, biến sẽ hiển thị trong phạm vi gói và cờ sẽ hoạt động bình thường