【发布时间】:2017-06-05 17:46:54
【问题描述】:
假设writers 和books 之间存在关联 (bibliography),其中一位作家 John Pencil 写了 16 本书。
Fixture bibliography.yml 列出所有书籍如下:
association_1:
writer: john_pencil
book: book_1
association_2:
writer: john_pencil
book: book_2
...
我需要测试主页是否显示了 J.P. 书籍的完整列表。
因此,如果我可以在测试的设置方法中使用某种插值,我可以这样做:
(1..16).each do |num|
book_#{num} = bibliography("association_#{num}".to_sym).book
end
然后我可以测试书籍列表是否存在如下:
(1..16).each do |num|
assert_select "td.book_isdn", book_#{num}.isdn
assert_select "td.book_title", book_#{num}.title
assert_select "td.book_genre", book_#{num}.genre
assert_select "td.book_author", book_#{num}.author
end
当然,我不能使用book_#{num},我想知道我是否可以像处理"association_#{num}".to_sym 那样使用一些权宜之计来进行插值工作
【问题讨论】:
-
有什么理由不能只使用数组吗?
标签: ruby-on-rails ruby interpolation fixtures