Ruby: Minitest/spec and BDD Gherkin



似乎我在Minitest/spec上找不到太多文档,所以我想知道是否有人可以帮助我弄清楚如何做我需要做的事情。基本上,我想在我所有的类和模块上运行测试,以确保它们1。输出正确的值类型(如果是static或2)。在to_symbols的情况下,所有键都是符号。以下是我目前所做的尝试:

我设想的小黄瓜是什么样子的:

Given binns
When the version method is called
then the return should be a float
and version should be a method or constant

minitest/spec:

require 'minitest/autorun'
require 'minitest/spec'
require 'binns'
given Binns do
  when "the version method is called" do
    then "the return should be a float" do
      # Do work
    end
  end
end

但是我得到:

syntax error, unexpected keyword_when (SyntaxError)
  when "the version method is called" do
      ^

注意:我也愿意接受其他关于测试的建议(我不太了解cucumber,听说它很重要),或者如果有人有书的建议,请告诉我一直在寻找一本关于Ruby单元测试的好书。

MiniTest/Spec使用的是rspec风格的语法:desc, it, before, after…

require 'minitest/autorun'
require 'minitest/spec'
require 'binns'
desc Binns do
  it "should return a float when the version method is called" do
    # Do work
  end
end

如果能让转换更容易,你可以把"desc"方法别名为"given",把"it"方法别名为"when"。

来自Peter Cooper的好教程

最新更新