为规范在 Ruby 中的新工具。
Fix 的是一个最低限度的测试工具。这是不到 200 行代码。它是基于Spectus,Matchi等的Defi。
这里是代码的一个例子:
class Monster
def self.get
{
boo: {
name: 'Boo',
life: 123,
mana: 42
},
hasu: {
name: 'Hasu',
life: 88,
mana: 40
}
}
end
def get(id)
self.class.get.fetch(id)
end
end
随着 Fix 的,我们可以写这个测试:
require_relative 'monster'
require 'fix'
Fix.describe Monster do
on :get do
on :keys do
it { MUST eql %i(boo hasu) }
end
end
on :new do
on :get, :boo do
it { MUST eql({ name: 'Boo', life: 123, mana: 42 }) }
end
on :get, :boom do
it { MUST raise_exception KeyError }
end
end
end
下面是结果:
ruby monster_fix_spec.rb
...
Ran 3 tests in 0.000411 seconds
100% compliant - 0 infos, 0 failures, 0 errors
欲了解更多详情,您可以在这里找到的文档。
快乐编码!!