是否可以在测试中使用嵌入式 ruby?
Is it possible to use embedded ruby in tests?
我在固定装置中使用嵌入式 Ruby 创建了 n 个对象:
<% 30.times do |n| %>
micropost_<%= n %>:
content: <%= Faker::Lorem.sentence(5) %>
created_at: <%= 42.days.ago %>
user: michael
<% end %>
是否可以在测试中使用嵌入式Ruby,以测试上述n个对象?
我需要遍历每个对象并做出如下断言:
ActiveRecord::Base.connection.execute("TRUNCATE microposts")
(1..30).each do |num|
assert_nil microposts(:micropost_<%= num %>)
end
您可以在 RSpec 或 MiniTest(或任何测试框架)中使用 Ruby,因为测试只是 Ruby.
可能有更好的方法,但一个简单的解决方案如下。
而不是:
assert_nil microposts(:micropost_<%= num %>)
有:
assert_nil microposts("micropost_#{num}".to_sym)
编辑:
回答你的问题。不,您不能在 .rb 文件中使用嵌入式 ruby 转义符。已经 ruby.
我在固定装置中使用嵌入式 Ruby 创建了 n 个对象:
<% 30.times do |n| %>
micropost_<%= n %>:
content: <%= Faker::Lorem.sentence(5) %>
created_at: <%= 42.days.ago %>
user: michael
<% end %>
是否可以在测试中使用嵌入式Ruby,以测试上述n个对象?
我需要遍历每个对象并做出如下断言:
ActiveRecord::Base.connection.execute("TRUNCATE microposts")
(1..30).each do |num|
assert_nil microposts(:micropost_<%= num %>)
end
您可以在 RSpec 或 MiniTest(或任何测试框架)中使用 Ruby,因为测试只是 Ruby.
可能有更好的方法,但一个简单的解决方案如下。
而不是:
assert_nil microposts(:micropost_<%= num %>)
有:
assert_nil microposts("micropost_#{num}".to_sym)
编辑:
回答你的问题。不,您不能在 .rb 文件中使用嵌入式 ruby 转义符。已经 ruby.