2011-10-16 3 views
9

Có phương án thay thế java nào cho Ruby's VCR không? Theo như tôi hiểu, lợi ích của việc sử dụng VCR là rất lớn, bạn có thể chạy một "kiểm tra tích hợp" và ghi lại các kết quả, lưu trữ chúng một số nơi cục bộ. Bây giờ từ lần sau khi bạn cần chạy thử nghiệm của mình, bạn có thể giả lập số lần truy cập cơ sở dữ liệu thực tế của mình với dữ liệu được ghi lại từ lần chạy đầu tiên.Java thay thế cho vcr của Ruby?

  1. Có điều gì tương tự trong thế giới java không?
  2. Nếu không, loại tắc nghẽn nào tôi có thể gặp phải nếu tôi cố gắng triển khai?

Bản ghi VCR chỉ tương tác HTTP, nhưng có thể thực hiện một cách để ghi lại bất kỳ loại hoạt động/hàm cơ sở dữ liệu nào đến API của nhóm khác mà tôi không cần kiểm tra, điều này sẽ giúp tôi giải quyết chế nhạo rất nhiều thứ bằng cách tự động hóa nó.

Here là một ví dụ về VCR với kiểm tra đơn vị Ruby:

+0

Nếu bạn muốn thử nghiệm lặp lại ghi vào cơ sở dữ liệu, hãy xem [dbunit] (http://www.dbunit.org/). –

Trả lời

9

Check-out betamax. Đó là một cảng hấp dẫn của VCR. Nó sẽ hoạt động trên JVM với bất kỳ ngôn ngữ nào, tôi tin.

Để sử dụng thư viện giống VCR để ghi lại/phát lại tương tác DB: Sven Fuchs đã thử phương pháp này và didn't see much benefit to it.

+0

Cảm ơn câu trả lời, trong trường hợp của Sven Fuchs, thời gian init cơ sở dữ liệu có thể rất thấp vì anh ta đang sử dụng một dự án đường ray thông thường. Nhưng trong trường hợp của tôi, nếu tôi cố gắng để có được xung quanh cơ sở dữ liệu (trong java), tôi sẽ nhận được tăng 10 phút của thời gian init! Tôi nghĩ rằng tôi sẽ cố gắng để viết một cổng java đôi khi và xem nó hoạt động như thế nào cho tôi. Ghi lại tương tác HTTP không phải là mối quan tâm của tôi. – zengr

+0

liên kết betamax đã chết, cập nhật liên kết tới github -> https://github.com/betamaxteam/betamax –

0

Kiểm tra anystub. đây là java-lib. nó cho phép ghi lại/phát lại bất kỳ lời gọi nào String get(String... keys) thay vì chỉ HTTP.