2013-03-11 21 views
9

Kiểm tra chức năng liên quan đến lớp TestServer của khung chơi Play dường như chỉ hoạt động bên trong bảng điều khiển Play.Á hậu thử nghiệm song song cho khung chơi

Thật không may, người thử nghiệm cổ phiếu trong bảng điều khiển Play được thực hiện bởi lệnh play test thực hiện các kiểm tra theo thứ tự và mất nhiều thời gian. Tôi nghĩ rằng chúng sẽ chạy nhanh hơn nếu chúng được thực thi song song.

Có cách nào để chạy thử nghiệm song song không?

Cập nhật: SBT hỗ trợ chạy thử nghiệm song song và trong các JVM khác nhau mà làm cho nó có thể có nhiều trường hợp TestServer song song nếu chúng lắng nghe trên các cổng khác nhau, theo lý thuyết. Có vẻ như Play bỏ qua các cài đặt này. Xem vấn đề đã báo cáo của tôi: https://github.com/playframework/Play20/issues/849. Tiền thưởng dành cho ai đó cho thấy một cách làm cho Khung Play tôn vinh các cài đặt thử nghiệm SBT này để chạy thử nghiệm dựa trên junit song song trong các JVM khác nhau với tệp Build.scala.

Trả lời

0

Cài đặt specs2 mặc định của Play2 không cho phép thực thi song song. https://github.com/playframework/Play20/blob/master/framework/project/Build.scala#L290

parallelExecution in Test := false 

Vì vậy, bạn cần ghi đè cài đặt này trong Build.scala.

parallelExecution in Test := true 

Nhưng tôi nghĩ bạn không thể thực thi kiểm tra song song vì cần TestServer cổng. Nếu bạn muốn thực hiện kiểm tra song song, bạn nên thay đổi cổng trong mọi trường hợp thử nghiệm.

+0

tôi đã thêm các thiết lập như thế này, nhưng có vẻ như không có hiệu lực: = play.Project (AppName, appVersion, appDependencies) .settings chính val ( parallelExecution trong thử nghiệm: = true ) này cam kết cũng cho thấy rằng chạy nhiều máy chủ thử nghiệm có nhiều sự cố hơn cổng xung đột: https://github.com/playframework/Play20/commit/b951b22a76b51ea1235af3525cdf4d48edd19ad2 – Tamas

+0

'fork in Test: = true' sẽ giải quyết vấn đề chạy nhiều trường hợp TestServer song song. (Giả sử việc chuyển nhượng cổng đã được xử lý) Vấn đề là dường như vở kịch bỏ qua các thiết lập của tôi được định nghĩa như sau: 'val main = play.Project (...). Settings ([settings here])' có thể chạy song song không được thực thi song song bất kể cài đặt 'parallelExecution in Test: = true'. – Tamas

1

Sau khi điều tra về chủ đề, dường như Play bỏ qua cài đặt cấu hình thử nghiệm SBT. Tôi đã báo cáo vấn đề này ở đây:

https://github.com/playframework/Play20/issues/849

Tôi không muốn đánh dấu câu trả lời của tôi được chấp nhận bởi vì tôi hy vọng rằng tôi đã bỏ qua điều gì đó và rằng nó có thể chạy thử nghiệm song song trong khuôn khổ chơi.