6

我在几个不同的规范中使用了一些常用方法,我想将它们提取到某个地方,比如可以从所有规范访问的规范助手。有人知道怎么做吗?

4

3 回答 3

1

这是一个有点像 spec_helper 的东西。

# _spec_helper.rb

module SpecHelper
  ::App::Persistence = {}

  # global `before :each` ish
  def self.extended(base)
    base.before do
      ::App::Persistence.clear
    end
  end

  def foo_helper
  end
end

然后使用它:

# my_view_spec.rb

describe "MyView" do
  extend SpecHelper

  before do
    foo_helper
  end
  ...


要记住两件事:

  1. 规范帮助文件的命名方式是它首先被加载(前导下划线)

  2. 当运行单个规范(例如files=my_view_spec.rb)帮助文件时,必须进行 -files=spec/my_view_spec.rb,spec/_spec_helper.rb

于 2013-05-02T17:12:05.763 回答
0

根据当前http://www.rubymotion.com/developer-center/articles/testing/#_spec_helpers

规范助手是在 RubyMotion 项目的 spec/helpers 目录下创建的。一个例子可以是 spec/helpers/extension.rb。

于 2014-10-14T00:52:35.077 回答
0

我只是将我在规范中使用的常用方法(未封装在 aModule或任何东西中)放在spec/support/utilities.rb文件中,Rubymotion 似乎可以很好地选择它们,尽管我不知道这是否是“正确”的方法来做到这一点。

于 2013-06-05T08:34:12.283 回答