2016-04-14 29 views
6

Trong khi nghiên cứu về chủ đề tự động hóa các bài kiểm tra tích hợp của tôi, tôi đã phát hiện ra một plugin tuyệt vời trong thế giới maven được gọi là FailSafe. nó mang lại cho tôi các giai đoạn như thử nghiệm tích hợp trước, kiểm tra sau tích hợp và thử nghiệm tích hợp.Thử nghiệm SBT/Scala và tích hợp

Bằng cách buộc vào các giai đoạn này, tôi có thể có các plugin khác có thể bắt đầu/dừng và chạy hình ảnh docker.

Plugin cũng có cách hay để tôi có thể phân biệt giữa các Bài kiểm tra đơn vị và IntegrationTests (mặc dù cả hai đều được viết bằng JUNIT).

Giờ thì câu hỏi đặt ra là làm thế nào tôi có thể làm điều tương tự với sự kết hợp Scala/SBT?

yêu cầu của tôi là

  1. kiểm tra Viết Tích hợp trong SpecFlow.
  2. Kiểm tra tích hợp được xử lý khác với kiểm tra đơn vị.
  3. Thử nghiệm đơn vị đầu tiên được chạy.
  4. Sau đó, vùng chứa docker được tạo và chạy
  5. thì thử nghiệm tích hợp sẽ chạy.
  6. docker chứa bị tắt.
  7. kết quả thử nghiệm được ghi lại trong tệp. (giống như các plugin chắc chắn/không an toàn).

Có thể kết hợp Scala/sbt này không?

+0

Âm thanh với tôi như bạn cần một hệ thống xây dựng CI. –

+0

Tôi có một cái gọi là Jenkins. Hiện tại nó thực hiện dự án maven cùng với các bài kiểm tra tích hợp FailSafe. –

+0

Bạn có thể thực hiện tất cả các bước đó. –

Trả lời

0

Tôi đã tìm thấy câu trả lời cho câu hỏi. SBT cung cấp phương tiện để làm thử nghiệm hội nhập và cũng thiết lập và dọn dẹp phương pháp để làm những việc như tạo/hủy diệt của container Docker

http://www.scala-sbt.org/0.13/docs/Testing.html

1

Một giải pháp đơn giản là chạy $ sbt "~ it:test" (hãy chắc chắn kiểm tra tích hợp đang ở trong một gói có tên là ' nó ') để kiểm tra tích hợp sẽ tự động chạy mỗi khi mã nguồn được cập nhật. Hơn nữa, $sbt "~ test" để kiểm tra đơn vị tự động. Nếu bạn đang sử dụng một IDE như IntelliJ IDEA, bạn có thể làm cho nó dễ dàng hơn để chạy điều này trong một cấu hình tùy chỉnh từ IDE. Mong rằng điều này giúp được chút ít. Tôi chạy tất cả các thời gian khi làm việc.

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