Rspec
几乎每种语言都有一套叫做 xUnit 测试框架的测试工具,Manageiq使用 Rspec 来取代 Rails 预设的 Test::Unit 来做为我们测试的工具。
Rspec 是一套改良版的 xUnit 测试框架,非常流行于 Rails 社区。
Rspec 是一套 Ruby 的测试 DSL(Domain-specific language)框架,它的程序比 Test::Unit 更好读,写的人更容易描述测试目的,可以说是一种可执行的规格文件。
也非常多的 Ruby on Rails 程序采用 Rspec 作为测试框架。
它又称为一种 BDD (Behavior-driven development)的测试框架,相比起 TDD 用 test 思维,测试程序的结果。 BDD 强调的是用 spec思维,描述程序应该有什么行为。
两者区别
这是一个 Test::Unit 范例,其中一个 test_ 开头的方法,就是一个单元测试,里面的 assert_equal 方法会进行验证。个别的单元测试应该是独立不会互相影响的:
class OrderTest < Test::Unit::TestCase
def setup
@order = Order.new
end
def test_order_status_when_initialized
assert_equal @order.status, "New"
end
def test_order_amount_when_initialized
assert_equal @order.amount, 0
end
end
下面是用 Rspec 语