重复输入字符串 Ruby 黄瓜
Enter string repeatedly Ruby Cucumber
我有一个测试,包括字段内的字符长度等。
我想知道我是否可以设置一个 10 个字符的字符串,例如 str = 'abcdefghij'
然后让它将该字符串乘以完成字符长度并填写该字段所需的次数。
我试过 times
方法,但它只是在 x 次迭代中输入了相同的值。
我想要的是将 str 增加 10 倍,然后输入该值作为 1 个连续字符串,这样 abcdefghij
变成 abcdefghijabcdefghijabcdefghijabcdefghijabcdefghij
等等
我会参数化次数以根据我正在测试的领域增加它。我想这样做,这样我就不会存储大量变量来满足每个测试。
这能做到吗?希望我解释清楚了。
String#*
会做:
'abc' * 10
#⇒ "abcabcabcabcabcabcabcabcabcabc"
要使用浮点参数:
λ = ->(input, count) do
i, f = *count.divmod(1)
input * i << input[0...(f * input.size).to_i]
end
λ.('abcd', 2.5)
#⇒ 'abcdabcdab'
我有一个测试,包括字段内的字符长度等。
我想知道我是否可以设置一个 10 个字符的字符串,例如 str = 'abcdefghij'
然后让它将该字符串乘以完成字符长度并填写该字段所需的次数。
我试过 times
方法,但它只是在 x 次迭代中输入了相同的值。
我想要的是将 str 增加 10 倍,然后输入该值作为 1 个连续字符串,这样 abcdefghij
变成 abcdefghijabcdefghijabcdefghijabcdefghijabcdefghij
等等
我会参数化次数以根据我正在测试的领域增加它。我想这样做,这样我就不会存储大量变量来满足每个测试。
这能做到吗?希望我解释清楚了。
String#*
会做:
'abc' * 10
#⇒ "abcabcabcabcabcabcabcabcabcabc"
要使用浮点参数:
λ = ->(input, count) do
i, f = *count.divmod(1)
input * i << input[0...(f * input.size).to_i]
end
λ.('abcd', 2.5)
#⇒ 'abcdabcdab'