Đến từ thế giới python, đồ đạc rất hữu ích (Đồ đạc định nghĩa một hợp đồng Python cho trạng thái có thể tái sử dụng/logic hỗ trợ, chủ yếu để thử nghiệm đơn vị). Tôi đã tự hỏi liệu có hỗ trợ tương tự ở Golang có thể cho phép tôi chạy thử nghiệm của mình với một số đồ đạc được xác định trước như thiết lập máy chủ, rách nó xuống, thực hiện một số nhiệm vụ lặp lại mỗi lần chạy thử không? Ai đó có thể chỉ cho tôi một số ví dụ về làm như vậy ở Golang không?Đồ đạc trong thử nghiệm Golang
Trả lời
Nếu bạn muốn sử dụng công cụ kiểm tra Go chuẩn, bạn có thể xác định hàm có chữ ký TestMain(m *testing.M)
và đặt mã cố định vào đó.
Đó là đôi khi cần thiết cho một chương trình thử nghiệm để làm thêm thiết lập hoặc teardown trước hoặc sau khi thử nghiệm. Đôi khi cũng cần thiết cho một thử nghiệm để kiểm soát mã nào chạy trên luồng chính. Để hỗ trợ những điều này và các vụ việc khác, nếu một tập tin thử nghiệm có chứa một hàm:
func TestMain(m *testing.M)
sau đó kiểm tra được tạo ra sẽ gọi TestMain (m) thay vì chạy các bài kiểm tra trực tiếp. TestMain chạy trong goroutine chính và có thể làm bất cứ điều gì thiết lập và teardown là cần thiết xung quanh một cuộc gọi đến m.Run. Sau đó nó sẽ gọi os.Exit với kết quả của m.Run. Khi TestMain được gọi, flag.Parse chưa được chạy. Nếu TestMain phụ thuộc vào cờ dòng lệnh, bao gồm cả cờ thử nghiệm, nó sẽ gọi flag.Parse một cách rõ ràng.
Một thực hiện đơn giản của TestMain là:
func TestMain(m *testing.M) { flag.Parse() os.Exit(m.Run()) }
- 1. android đồ đạc thử nghiệm
- 2. Đồ đạc thử nghiệm của Google
- 3. Đồ đạc không được nạp trong khi thử nghiệm
- 4. Kiểm tra Django FileField sử dụng đồ đạc thử nghiệm
- 5. Đồ đạc thử nghiệm hoặc tương đương với dữ liệu thử nghiệm với Smalltalk Seaside?
- 6. Đồ đạc trong RSpec
- 7. Làm cách nào để tải dữ liệu thử nghiệm (đồ đạc) trong Play2?
- 8. Đơn vị thử nghiệm một hiệp hội đa hình với đồ đạc
- 9. Đồ đạc Django có tải không đúng thứ tự khi thử nghiệm không?
- 10. Làm thế nào để chạy thử nghiệm NUnit đồ đạc serially?
- 11. đồ đạc django (từ dumpdata) không thành công khi thử nghiệm
- 12. Thử nghiệm thiết bị đo đạc Android với Mockito
- 13. Symfony2, đồ đạc và kiểm tra đơn vị. Thêm dữ liệu thử nghiệm trong khi thử nghiệm trong một quan hệ ManyToMany
- 14. Làm thế nào để quản lý dữ liệu thử nghiệm đồ đạc cho thử nghiệm chấp nhận trong các dự án lớn?
- 15. Có thể sử dụng đồ đạc từ các ứng dụng khác trong các thử nghiệm của django không?
- 16. Di chuyển đồ đạc Django?
- 17. Slim .net: Làm cách nào để gỡ lỗi các đồ đạc thử nghiệm bằng cách sử dụng studio trực quan?
- 18. Rails 4 tệp tải lên thử nghiệm bằng cách sử dụng đồ đạc (.yml) và kẹp giấy
- 19. Tôi có thể sử dụng đồ đạc HTML với nhân viên thử nghiệm Karma bằng Qunit như thế nào?
- 20. Làm cách nào để gỡ lỗi các thử nghiệm thiết bị đo đạc trong Android Studio?
- 21. Đặt giả lập/hướng thiết bị lập trình trong thử nghiệm thiết bị đo đạc
- 22. Đồ họa thử nghiệm đơn vị
- 23. Sử dụng đồ đạc với factory_girl
- 24. Thừa kế kiểm tra mũi Python: đồ đạc thử tải đơn vị từ các lớp con
- 25. Đồ đạc trong lập trình là gì?
- 26. Django - Phím nước ngoài trong Đồ đạc
- 27. Rails, đồ đạc và default_scope
- 28. Đồ đạc Django cho phép
- 29. Trong đó thứ tự là đồ đạc thực thi nhất?
- 30. Làm cách nào để kiểm tra JobService của tôi bằng thử nghiệm Thiết bị đo đạc?
Check-out [Ginkgo] (https://onsi.github.io/ginkgo) trong đó có 'BeforeEach' và' AfterEach'. – PieOhPah
Cảm ơn @ pie-o-pah – psbits