2012-09-07 23 views

Trả lời

9

assert_equal được xác định trên các lớp con của Test::Unit::TestCase, vì vậy chỉ có sẵn trong lớp đó. Bạn có thể có một số thành công với include Test::Unit::TestCase để tải các phương thức đó vào phạm vi hiện tại.

Nhiều khả năng bạn có thể được tốt hơn viết bài kiểm tra của bạn trong một tập tin ngắn, và chạy chúng với ruby ./my_file.rb

5

Đây là cách khẳng định được sử dụng:

class Gum 
    def crisis; -42 end 
end 

# and as for testing: 

require 'test/unit' 

class GumTest < Test::Unit::TestCase 
    def test_crisis 
    g = Gum.new 
    assert_equal -42, g.crisis 
    end 
end 
+0

Cảm ơn, điều này có vẻ hữu ích! – TDHM

6

Bạn có thể sử dụng trong ruby ​​xây dựng lỗi thử nghiệm

raise "Message you want to throw when error happens" if/unless "Condition when you want to throw the error " 

HOẶC

Nếu bạn nhận được thông báo lỗi khi cố gắng sử dụng khẳng định, như "NoMethodError: Phương pháp xác định 'khẳng định' cho chính: Object", sau đó thêm video này vào đầu script của bạn:

require "test/unit/assertions" 
include Test::Unit::Assertions 
Các vấn đề liên quan