我在我的小网站上写了规格,我遇到了一个小问题。
我有一些规范帮助方法,例如:
def is_logged_in?(spec = :feature)
if spec == :feature
page.has_selector?('#user-menu')
else
!session[:user_id].nil?
end
end
但我已经厌倦了传递"规范"论证,我认为有更好的解决方案,例如:if current_spec.type == :feature ...
。
有没有办法从辅助方法学习当前运行规范的类型?
答案 0 :(得分:0)
您可以使用以下方法访问rspec测试的类型:
example.metadata[:type]
# => :controller # in case of a controller spec
请注意,example
仅适用于示例组(例如describe
或context
块)。 example
在示例(例如it
块)中或在示例范围内运行的构造(例如before
,let
等)中不可用。
答案 1 :(得分:0)
好的,我想出了如何将功能规格与其他规格区分开来:
SELECT * FROM my_table WHERE description LIKE '%[a-z0-9]%'
它很适合我的代码= - )