2009-07-18 46 views
17

Tôi quen thuộc với việc sử dụng các đối tượng giả để giúp đơn vị kiểm tra các loại Java của tôi, nhưng tìm tính không linh hoạt có thể dẫn đến các loại kiểm tra dài dòng và rườm rà và rất nhiều sự lặp lại.Sử dụng Scala để kiểm tra đơn vị Java?

Tôi đã xem xét sử dụng Groovy cho các bài kiểm tra đơn vị với thành công vừa phải. Tôi quan tâm đến việc học Scala cho chính nó, nhưng cũng muốn một số lời khuyên về việc sử dụng nó để thử nghiệm Java. Có ai có lời khuyên hay tài liệu tham khảo về việc sử dụng Scala để làm điều này không?

Update để làm rõ những gì tôi sau:

Tôi đã nhìn thấy rằng có tồn tại các công cụ để kiểm tra đơn vị trong Scala, như ScalaTest. và ScalaCheck, nhưng họ tập trung vào cách thực hiện cơ chế thử nghiệm. Tôi đang tìm kiếm một số thực hành tốt nhất và/hoặc gợi ý và lời khuyên cho cách thử nghiệm đơn vị nên được tiếp cận với Scala. Ví dụ: tương đương với số Javaworld JUnit best practices article hoặc danh sách anti-patterns để chỉ ra những cạm bẫy phổ biến hoặc các quy ước hữu ích.

+0

Tôi sợ nếu bạn cụm từ nó mơ hồ, những gì Daniel viết là tốt nhất bạn sẽ nhận được. –

+0

Bạn đề nghị tôi viết lại nó như thế nào? Với tôi "Có ai có lời khuyên hay tài liệu tham khảo về việc sử dụng Scala để làm điều này không?" là khá rõ ràng –

Trả lời

7

Bạn chắc chắn có thể sử dụng Scala để kiểm tra Java. Thực tế, vì các khung kiểm thử Scala tích hợp tốt với JUnit, bạn có thể viết các bài kiểm tra trong Scala và chạy chúng từ Eclipse thông qua JUnit.

Có ba khung quan trọng: ScalaTest, chung, rất linh hoạt; ScalaCheck, dựa trên khung kiểm thử Haskell, nó tạo ra dữ liệu ngẫu nhiên để kiểm tra các điều kiện cho bạn; Thông số, chung, tương tự trong phạm vi của ScalaTest, nhưng có cú pháp định hướng BDD hơn.

+0

Tôi biết điều đó là có thể, tôi đã tìm kiếm một số hướng dẫn làm như vậy, xin lỗi nếu điều đó không rõ ràng từ câu hỏi của tôi. –

+0

Tôi khuyên bạn nên sử dụng IntelliJ để phát triển kết hợp java & scala. Gần đây tôi đã bắt đầu viết các bài kiểm tra đơn vị với scala (http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html) và những điều duy nhất tôi nhận được từ Eclipse là một nhức đầu. –

0

Lưu ý rằng quá trình biên dịch có thể khá chậm. Trong nhận thấy rằng trong khi tôi đang lập trình Java, tôi nhấn các phím cắt ngắn để chạy các bài kiểm tra khá thường xuyên hơn một chút so với khi tôi đang lập trình ở Scala. Trong thực tế, trong Scala, bạn chắc chắn muốn có một cái gì đó như SBT ngồi trong nền, kiểm tra mã của bạn liên tục. Điều đó có nghĩa là - nếu tất cả những gì bạn quan tâm là có các bài kiểm tra được viết bằng Scala - bạn có thể cần phải kéo thêm một chút nữa để làm cho nó trở nên thoải mái.