- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
如何 DRY(不要重复自己)RSpec 中的 double?例如:
let(:s1) {instance_double(Class1,
:attr1 => val1,
:attr2 => val2,
:attr3 => val3,
:attr4 => val4,
:attr5 => val5)}
let(:s2) {instance_double(Class1,
:attr1 => val0, # the only difference between s2 and s1
:attr2 => val2,
:attr3 => val3,
:attr4 => val4,
:attr5 => val5)}
let(:s3) {instance_double(Class1,
:attr1 => val6, # the only difference between s3 and s1
:attr2 => val2,
:attr3 => val3,
:attr4 => val4,
:attr5 => val5)}
这 3 个 double 非常相似,看来我们可以重构。但我试过了:
为他们做一个基本的散列:
basic_hash = {attr2 => val2, attr3 => val3, attr4 => val4, attr5 => val5}
然后修改这个基本的hash,传给instance_double,比如传给:s1
:
basic_hash_s1 = basic_hash.clone
basic_hash_s1[:attr1] = val1
let(:s3) {instance_double(Class1, basic_hash_s1)
但这行不通。我正在处理一个现有项目,Rspec 没有给出任何错误消息(也许该项目有一些设置?),它只是跳转了整个规范文件。
我也试过允许 on double:
允许(s1).接收(:attr).and_return(val1)
还是不行。
有人知道如何重构这个吗?谢谢!
=======编辑=======
我试过创建double Hash对象,传给:s1
,可以传,但是不知道怎么修改那个double里的内容:我试过修改为与修改常规 Hash 对象的方式相同,但它不起作用。
最佳答案
let(:opts) { { :attr1 => val1,
:attr2 => val2,
:attr3 => val3,
:attr4 => val4,
:attr5 => val5 } }
let(:s1) { instance_double(Class1, opts) }
let(:s2) { instance_double(Class1, opts.merge(:attr1 => val0)) }
let(:s3) { instance_double(Class1, opts.merge(:attr1 => val6)) }
关于ruby - RSpec 中的 DRY 双倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51625949/
我有三个 double 组列表。我想将数组1复制到数组2并将其放入第三个数组中。 // ArrayList 1 [0.0, 1.0, 0.0, 1.0] // ArrayList 2 // Rando
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在编写一个带有变量 long balance 的银行程序将美分存入账户。当用户输入金额时,我有一种方法可以将美元转换为美分: public static long convertFromUsd (
如何 DRY(不要重复自己)RSpec 中的 double?例如: let(:s1) {instance_double(Class1, :att
我是 Java 新手,我想知道为什么当你有双 10/4 时却得到 2? double 是否总是必须有小数才能得到正确的答案?谢谢。 public class Super { public st
我正在用 Python 为 Fortran 库编写前端。 Python 模块应该可以在 32 位和 64 位机器上运行;适用于 Windows、Linux 和 Mac。 我想了解一些数据类型的字节宽度
我有两个ajax json。一个用于聊天用户列表列,另一个用于每个用户的消息历史记录。当单击 $('.member_list ul li') 元素时...第二个 ajax 将 li 的值作为 json
从 GHCi 中的 .hs 文件加载 a = 2+2.0 并执行 :t a 显示 a::Double。 另一方面,在 GHCi 中执行 let b = 2+2.0 和 :t b 会显示 b::Frac
我是一名优秀的程序员,十分优秀!