Ok, tôi đã tìm ra giải pháp với thông báo trước: Tôi không sử dụng sbt.
Ý tưởng
Trước tiên, chúng tôi sẽ viết các tính năng và bước dưa chuột. Sau đó chúng ta sẽ viết một lớp "Runner", mà sẽ được điều hành bởi JUnit Á hậu (mà sẽ không biết gì về sự hiện diện của dưa chuột)
Thủ tục
Bước 1. Chỉ phụ thuộc vào một điều để viết các tính năng dưa chuột và các bước!
libraryDependencies += "info.cukes" % "cucumber-scala_2.11" % "1.2.4"
Bước 2: Bây giờ chúng ta phụ thuộc vào junit (đối với văn bản cho Á hậu của các bài kiểm tra của chúng tôi) và thư viện kết nối dưa chuột-junit mà sẽ cho phép chúng tôi nói Juni để chạy thử nghiệm dưa chuột của chúng tôi:
libraryDependencies += "info.cukes" % "cucumber-junit" % "1.2.4"
libraryDependencies += "junit" % "junit" % "4.12"
bước 3: Viết tính năng và các bước định nghĩa (họ nên được đặt trong cùng một thư mục trong các thử nghiệm trong kinh nghiệm của tôi):
# My.feature
Feature: blah blah
....
// MySteps.scala
...
Bước 4: Viết bài kiểm tra của chúng tôi Á hậu:
import cucumber.api.junit.Cucumber
import org.junit.runner.RunWith
@RunWith(classOf[Cucumber])
class RunTests extends {
}
Bước 5: (không bắt buộc) Tích hợp với IntelliJ
a) Enable JUnit trong IntelliJ. Điều này sẽ cho phép chúng tôi chạy kiểm tra dưa chuột của chúng tôi bằng cách chạy runner junit của chúng tôi. Đẹp!
- file
- Cài đặt ...
- Plugins
Tìm kiếm "JUnit" và chắc chắn rằng nó đã được kích hoạt
Bây giờ chúng ta có thể chạy thử nghiệm dưa chuột của chúng tôi bằng cách đơn giản click chuột phải vào trên .feature tệp và chọn Chạy!
b) Enable dưa chuột cho Scala IntelliJ plugin. (đảm bảo plugin Scala được bật). Điều này cho phép IntelliJ xác định cách liên kết các tệp tính năng với các tệp scala. Nếu không có này file tính năng của bạn sẽ luôn được đánh dấu màu vàng với một lỗi undefined step reference
:
- tập tin
- Cài đặt ...
- Plugins
- Duyệt kho ...
- tìm kiếm cho "dưa chuột cho Scala "
- Cài đặt
Cucumber for Scala
plugin
Khởi động lại IntelliJ.
Bây giờ, các tệp nổi bật của bạn sẽ được tô sáng chính xác!
Tài nguyên hữu ích
- Java hướng dẫn cho dưa chuột, mà dẫn tôi đến giải pháp này: https://c0deattack.wordpress.com/2012/03/28/cucumber-jvm-with-cucumber-java-cucumber-junit-example/
- Dưa chuột phòng chat mà mọi người là siêu hữu ích: https://gitter.im/cucumber/chat
- Cấu trúc thư mục (lưu ý rằng trong scala chúng tôi dường như cần phải đặt cả hai tính năng và các tệp bước vào cùng một thư mục: tuy nhiên ý tưởng của người chạy riêng lẻ là thú vị): http://www.hascode.com/2014/12/bdd-testing-with-cucumber-java-and-junit/#Directory_Structure