我在可編程文件夾怎麼寫rspec的進行方法
module Programmability
module Parameter
class Input < Parameter::Base
attr_reader :args
def initialize(name, type, **args)
super(name, type)
@args = args
end
def value=(val)
if val
val = convert_true_false(val)
--- some code ----
end
@value = val
end
def convert_true_false(val)
return val unless @args[:limit] == 1
if [:char].include?(@type) && val == 'true'
'Y'
elsif [:char].include?(@type) && val == 'false'
'N'
elsif [:bit].include?(@type) && val == 'true'
1
elsif [:bit].include?(@type) && val == 'false'
0
end
end
end
end
end
下面的代碼我想寫的方法convert_true_false rspec的。我是rspec的新手。任何幫助表示讚賞。
我試着這樣做
context 'returns Y if passed true'
input = Programmability::Parameter::Input.new(name, type, limit)
it 'returns Y' do
name = 'unregister_series'
type = ':char'
limit = 1
expect(input.value = 'true').to eq('Y')
end
end
,但它不是拿起限值。當它達到convert_true_false方法弄出來的它,因爲@args [:上限]是零
感謝
您嘗試過什麼嗎? – ndn
是更新的問題 – User7354632781
您可以在您的規範中添加創建「輸入」的代碼嗎? – ndn