我在下面创建了一个问题。我正在做的是我从一个具有值0,1,2的表映射列,并为JSON中的那些返回字符串。有人可以指导我如何编写单元测试用例吗?
module User
extend ActiveSupport::Concern
included do
def user_mapping(user_in_number)
user_hash = {
'0'=> 'Support',
'1'=> 'Developer',
'2'=> 'Business Analyst'
}.freeze
user_hash[user_in_number]
end
end
end
由于
答案 0 :(得分:1)
对于任何模块,您都可以这样做:
subject = Class.new do
include User
end.new
assert subject.user_mapping('0'), 'Support'
Class.new
创建一个anonymous class,该块在匿名类的上下文中进行计算,因此就像常规类的主体一样。
然后创建匿名类的实例并调用包含模块定义的方法。
顺便说一下,实际方法不需要分配如此多的变量:
UserMap = {
'0'=> 'Support',
'1'=> 'Developer',
'2'=> 'Business Analyst'
}.freeze
def user_mapping(user_in_number)
UserMap.fetch(user_in_number)
end
如果找不到给定的密钥, fetch
将会提升。
我可能也会重新考虑模块的名称User
,您是否永远不需要User
类......