Cách tốt nhất là vấn đề quan điểm :) Cá nhân, tôi thích đơn giản và sạch sẽ. Với các công cụ như minitest, Watir và rest-client, bạn có thể kết hợp một thử nghiệm rất đơn giản về cả giao diện REST cũng như kiểm tra dịch vụ web của bạn thông qua trình duyệt thực (tất cả các trình duyệt chính đều được hỗ trợ).
#!/usr/bin/ruby
#
# Requires that you have installed the following gem packages:
# json, minitest, watir, watir-webdrive, rest-client
# To use Chrome, you need to install chromedriver on your path
require 'rubygems'
require 'rest-client'
require 'json'
require 'pp'
require 'minitest/autorun'
require 'watir'
require 'watir-webdriver'
class TestReportSystem < MiniTest::Unit::TestCase
def setup
@browser = Watir::Browser.new :chrome # Defaults to firefox. Can do Safari and IE too.
# Log in here.....
end
def teardown
@browser.close
end
def test_report_lists # For minitest, the method names need to start with test
response = RestClient.get 'http://localhost:8080/reporter/reports/getReportList'
assert_equal response.code,200
parsed = JSON.parse response.to_str
assert_equal parsed.length, 3 # There are 3 reports available on the test server
end
def test_on_browser
@browser.goto 'http://localhost:8080/reporter/exampleReport/simple/genReport?month=Aug&year=2012'
assert(@browser.text.include?('Report for Aug 2012'))
end
end
Chạy các trường hợp kiểm tra bằng cách thực thi tập lệnh. Có rất nhiều hệ thống thử nghiệm khác và các máy khách REST cho Ruby có thể được đưa vào hoạt động theo cách tương tự.
Nguồn
2012-11-03 08:51:25
có vấn đề gì với curl? Bạn có thể viết các bài kiểm tra đơn vị chạy curl và kiểm tra bạn lấy lại những gì bạn mong đợi - tiêu đề và nội dung. Khác bạn có thể xem xét một cái gì đó như http://watir.com/? – iain
@lain: sử dụng Watir hoặc curl không phải là bài kiểm tra đơn vị. Nói chung, đó là một thử nghiệm chức năng hoặc tích hợp. – Chamnap
Kiểm thử đơn vị đang thử nghiệm các đơn vị chức năng từ * trong * mã, chứ không phải từ bên ngoài. Sử dụng curl hoặc bất cứ thứ gì giống như nó nằm ngoài mã đang tìm kiếm. Chúng tôi cần biết thêm về những gì các dịch vụ web của bạn đang thực hiện để giúp bạn kiểm tra đơn vị. –