Tôi có một vài lớp Groovy trong ứng dụng của mình, dưới src/groovy
. Các lớp thử nghiệm liên quan nên đi đâu và chúng có nên sử dụng GroovyTestCase
hoặc các mixin (TestFor
) không?Tôi nên đặt các trường hợp thử nghiệm cho các lớp Groovy trong ứng dụng Grails ở đâu?
Trả lời
Bạn có thể chọn giữa một bài kiểm tra đơn vị hoặc tích hợp cho lớp của bạn. Từ docs bạn có thể thấy sự khác biệt giữa chúng:
Unit Test
Đơn vị kiểm tra là kiểm tra tại "đơn vị" cấp. Nói cách khác, bạn đang thử nghiệm các phương pháp riêng lẻ hoặc các khối mã mà không xem xét cho cơ sở hạ tầng xung quanh. Các bài kiểm tra đơn vị thường chạy mà không có sự hiện diện của tài nguyên vật lý liên quan đến các cơ sở dữ liệu I/O như vậy, các kết nối hoặc tệp socket . Điều này là để đảm bảo chúng chạy nhanh nhất có thể vì phản hồi nhanh là điều quan trọng.
Tích hợp thử nghiệm
kiểm tra tích hợp khác với kiểm tra đơn vị trong đó bạn có đầy đủ quyền truy cập đối với môi trường Grails trong vòng thử nghiệm.
Vì vậy, nếu bạn cần truy cập cơ sở dữ liệu hoặc cần môi trường đầy đủ, hãy thực hiện kiểm tra tích hợp. Nếu không, hãy tạo một bài kiểm tra đơn vị (điều này sẽ sử dụng cơ sở dữ liệu trong bộ nhớ).
@TestFor
được thiết kế để sử dụng trong các bài kiểm tra đơn vị, vì điều này sẽ mô phỏng cơ bản (xem GrailsUnitTestMixin
). Nếu bạn chọn kiểm tra tích hợp, không sử dụng chú thích.
Đặt chúng trong test/unit
. Nếu họ cần bối cảnh mùa xuân hoặc phiên ngủ đông, hãy đặt chúng trong test/integration
. Bạn có thể sử dụng GroovyTestCase
hoặc mixins, nhưng chúng hoàn toàn không bắt buộc. Các bài kiểm tra chỉ cần làm theo các công ước sau:
- tên lớp phải kết thúc với
Tests
hoặcTest
- các phương pháp thử nghiệm phải một trong hai bắt đầu với
test
hoặc được chú thích với@Test
chú thích JUnit của
- 1. Tôi nên đặt thư viện javascript trong ứng dụng Grails ở đâu?
- 2. Tôi nên đặt các tệp cấu hình IPython ở đâu?
- 3. Các trải nghiệm sử dụng Groovy ++ trong Grails
- 4. Tôi nên đặt mocks của mình ở đâu?
- 5. Tôi nên đặt tệp logging.properties cho java.util.logging trong ứng dụng web (dự án maven) ở đâu?
- 6. Các đối tượng Grails Command nên được đặt trong cấu trúc dự án ở đâu?
- 7. PowerMock có thể khởi tạo lớp bên trong cho các trường hợp thử nghiệm không?
- 8. Tôi nên đặt lớp cơ sở trống ở đâu?
- 9. Trường hợp không nên sử dụng các trường hợp ở Scala?
- 10. Ghi thử nghiệm Selen cho các trường hợp thử nghiệm Plone chức năng
- 11. Thử nghiệm các ứng dụng .NET cho doanh nghiệp (LOB)?
- 12. Tôi nên đặt plugin .vim ở đâu?
- 13. Tôi nên đặt scriptmanager ở đâu
- 14. Cách đặt chuỗi trường hợp thử nghiệm trong xUnit
- 15. cấu hình giả trong các thử nghiệm của Grails
- 16. Nên đặt beans.xml ở đâu?
- 17. Tích hợp các trường hợp thử nghiệm PHPT với PHPUnit
- 18. MEF: Tôi nên đặt bộ phận sắp xếp ở đâu?
- 19. Tôi nên lưu trữ DB SQLite cho ứng dụng iPhone ở đâu?
- 20. Thử nghiệm các ứng dụng VSTO?
- 21. Grails vs Gaelyk cho ứng dụng Groovy AppEngine mới
- 22. phần mềm thử nghiệm khỉ cho các ứng dụng windows
- 23. Sau khi chạy thử trường hợp junit, tôi có nên xóa dữ liệu thử nghiệm liên quan đến trường hợp thử nghiệm này không?
- 24. Tôi nên đặt AngularJS Nhà máy & Dịch vụ ở đâu?
- 25. Lập kế hoạch cho các trường hợp tử vong trong các thử nghiệm perl
- 26. Các trường hợp thử nghiệm với JIRA hoặc Confluence
- 27. Sự khác biệt trong các lớp trường hợp thử nghiệm Android khác nhau là gì?
- 28. Android: thử nghiệm instumentation cho các widget ứng dụng
- 29. Tôi nên đặt hình dạng ở đâu trong các thư mục Android của mình?
- 30. Tôi nên đặt các chức năng linh tinh vào một dự án .NET ở đâu?