Làm thế nào để quản lý các bài kiểm tra không đơn vị trong một dự án?


9

Tôi có một số mã trong dự án của tôi, cá nhân tôi gọi testsđó không phải là bài kiểm tra đơn vị. Chúng có nghĩa là được chạy và kết quả phải được đánh giá bởi một con người. Tôi đã làm điều này bởi vì tôi đang tạo ra một động cơ vật lý và trong quá trình phát triển, tôi cần phải xem những gì tôi đang làm. Vì vậy, tôi đã thực hiện một simulationgói trong mô-đun thử nghiệm của tôi. Đây là bài kiểm tra đơn vị kỹ thuật vì các mô phỏng đang sử dụng thư viện kiểm tra đơn vị nhưng tôi không có nghĩa là chạy tất cả như bài kiểm tra đơn vị thực tế của tôi.

Những gì tôi muốn làm là phân biệt các thử nghiệm đặc biệt đó với các thử nghiệm đơn vị của tôi bởi vì tôi muốn chạy tất cả các thử nghiệm đơn vị một cách dễ dàng. Tôi nghĩ rằng nó là một chút giống như các bài kiểm tra chức năng. Bạn đã bao giờ gặp phải một trường hợp mà bạn phải chuẩn bị ứng dụng của mình cho một bài kiểm tra chức năng? Trường hợp đó chuẩn bị kiểm tra chức năng (về cơ bản là mô phỏng của tôi) nên được đặt trong dự án và làm thế nào để phân biệt chúng với các bài kiểm tra đơn vị?

Tôi đang ở Java vì vậy tôi có thể thay đổi tất cả các chữ ký phương thức của mình từ đó @Test public void myNamedTest()sang public static void main(String[] args)nhưng việc sử dụng mô phỏng của tôi sẽ rất tốn công và ít thực tế hơn.

Tôi đang sử dụng junittrong một gradledự án. Bất kỳ giải pháp tạo thư mục thử nghiệm đặc biệt gradleđều được chào đón.


2
Tôi nghĩ những gì bạn đang nói là một giàn thử nghiệm nơi bạn có thể chạy thử nghiệm ad hoc. Những thứ này đã tồn tại bao lâu tôi có thể nhớ (hơn 30 năm) - thậm chí có thể trước đó. Họ thường ngồi trong một dự án riêng biệt có thể truy cập thư viện hoặc bất cứ điều gì nhưng bạn có thể cấu trúc nó theo cách bạn muốn.
Robbie Dee

3
Các thuật ngữ đơn vị / tích hợp / kiểm tra chức năng mô tả phạm vi của thử nghiệm: những gì đang được thử nghiệm. Điều đó hoàn toàn độc lập với cách các bài kiểm tra này được chạy, ví dụ: kiểm tra thủ công so với kiểm tra tự động. Có thể có các bài kiểm tra chấp nhận tự động và kiểm tra đơn vị thủ công, và bất cứ điều gì ở giữa. Vì vậy, nếu bạn sử dụng JUnit để chạy các kiểm tra chức năng thủ công, điều đó hoàn toàn tốt - chỉ cần tách chúng ra bằng cách nào đó khỏi các kiểm tra tự động của bạn để chúng không chạy theo mặc định.
amon

Câu trả lời:


10

Có vẻ như các phiên bản sau của Junit hỗ trợ các loại thử nghiệm. Đây có thể hữu ích để phân loại từng bài kiểm tra. Sau đó, khi tự động hóa xây dựng chạy, nó có thể bao gồm hoặc loại trừ các thử nghiệm dựa trên danh mục.

Việc bạn có muốn kết hợp các bài kiểm tra này với các bài kiểm tra đơn vị hay không là vấn đề ưu tiên của tổ chức. Người ta có thể muốn tạo một dự án "giàn thử nghiệm" riêng biệt để tách các thử nghiệm đơn vị thông thường so với các thử nghiệm chuyên biệt hơn.

https://dzone.com/articles/closer-look-junit-c chuyên mục

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.