0
我試圖測試一個非常(和非邏輯)的ruby類。Ruby Minitest使用不同測試的存根
class Post
attr_accessor :title
def initialize
@title = "Treehouse Blog"
end
end
class Blog
def create_and_get_title
post = Post.new
post.title
if post.title == nil
post2 = Post.new
post2.title
else
post.title
end
end
end
,這裏是我的測試:
require 'minitest/autorun'
require_relative 'blog'
require 'ostruct'
class TestBlog < Minitest::Test
def setup
@blog = Blog.new
end
def test_title_is_treehouse_blog
assert_equal('Treehouse Blog', @blog.create_and_get_title)
end
def test_title_is_yyy
def Post.new; OpenStruct.new(title: nil) end
def Post.new; OpenStruct.new(title: 'yyy') end
assert_equal('yyy, @blog.create_and_get_title)
end
end
簡單,對不對?不過,我得到以下輸出從運行測試:
1) Failure:
TestBlog#test_title_is_treehouse [test.rb:12]:
Expected: "Treehouse Blog"
Actual: "yyy"
我不明白在每次運行失敗,我只是把它隨意,看起來像被緩存在存根或東西。
任何想法?
非常感謝!
在'assert_equal'調用中'test_title_is_yyy'方法中有語法錯誤。報價缺失。 – Tobias