2016-04-27 26 views
13

Tôi sẽ thực hiện một số thử nghiệm đơn vị sử dụng JUnit trong một số tác vụ sắp tới cho công việc. Tôi có ít kinh nghiệm với JUnit từ chủ nhân trước đây của tôi, nhưng trong khi tôi đang học, tôi đã gặp các phòng thử nghiệm. Tôi không có ý tưởng gì nếu tôi sẽ sử dụng chúng, nhưng tôi đặc biệt quan tâm đến lý do tại sao chúng còn tồn tại.Tại sao nên sử dụng các bộ thử nghiệm JUnit?

Ai đó có thể cho tôi một tình huống thực tế mà tôi muốn sử dụng bộ thử nghiệm, và lợi ích của việc sử dụng bộ thử nghiệm thay vì chỉ sử dụng các thử nghiệm độc lập khác nhau là gì?

EDIT: Tôi cảm thấy câu hỏi này không trùng lặp vì các câu trả lời khác cho một định nghĩa chung hoặc đoạn mã (theo như tôi thấy) và tôi đang tìm cách sử dụng thực tế hơn của các suite từ góc độ thiết kế. Tôi muốn biết lý do tại sao việc nhóm các bài kiểm tra lại với nhau có thể là một ý tưởng hay, hoặc tại sao nó có thể không được, v.v.

+3

(Đối với người bỏ phiếu để đóng nó) Tốt đau buồn. Câu hỏi không quá rộng. Nó là hoàn toàn tốt đẹp! – TofuBeer

+0

Bản sao có thể có của [TestSuite là gì?] (Http://stackoverflow.com/questions/7250257/what-is-testsuite) – kryger

+0

@kryger, tôi thấy rằng cũng như một vài người khác. Tôi quan tâm nhiều hơn đến việc sử dụng thực tế và lợi thế hơn các bài kiểm tra. Có vẻ như câu trả lời khác chỉ đơn giản là nhà nước những gì một bộ thử nghiệm là. Tôi hiểu điều đó nhiều, nhưng tôi đang cố gắng đưa nó vào các thuật ngữ thực tế và thực sự hiểu tại sao bạn muốn kết hợp các bài kiểm tra. Tôi hy vọng điều này có ý nghĩa hơn. –

Trả lời

11

Suites cho phép bạn chạy nhiều lớp thử nghiệm nơi bạn có thể thực hiện các thói quen trước và sau toàn bộ bộ.

kiểm tra đòi hỏi một thiết lập cơ sở dữ liệu nói đến cái tâm,

  1. tải một cơ sở dữ liệu trong bộ nhớ (bạn không thể đủ khả năng để làm điều đó trước và sau mỗi lần kiểm tra đơn vị)
  2. Chạy tất cả các trường hợp thử nghiệm
  3. Dỡ bỏ trong bộ nhớ cơ sở dữ liệu khi toàn bộ bộ được thực hiện.

    @RunWith(Suite.class) 
    @Suite.SuiteClasses({ 
    MyUnitTests.class 
    }) 
    public class MySuiteTest { 
    
    @ClassRule 
    public static H2TestRule h2TestRule = new H2TestRule(); 
    
    } 
    

Dưới đây là một H2TestRuleRule cho toàn bộ bộ chứ không phải là một trường hợp thử nghiệm duy nhất.

+4

Ngoài các bài kiểm tra DB, một nhóm thông thường khác là các bài kiểm tra Đơn vị so với các bài kiểm tra Tích hợp. Các bài kiểm tra đơn vị có thể được tốt đẹp để chạy tất cả các thời gian, trong khi các bài kiểm tra tích hợp mà tận dụng nhiều phần của hệ thống có thể là quá mức cần thiết. –

+0

@BillFrasure Bây giờ tôi đã đi qua các bài kiểm tra tích hợp ở đây tại nơi làm việc, điều này làm cho cảm giác hoàn hảo. Cảm ơn! –

Các vấn đề liên quan