【问题标题】:How to make minitest available in ruby module如何使 minitest 在 ruby​​ 模块中可用
【发布时间】:2018-06-17 05:22:03
【问题描述】:

我正在尝试制作一个包含一堆帮助定义的模块。一些 defs 使用来自 Minitest::Assertions 的断言。我如何才能访问模块内的这些断言。下面的模拟示例

module Helper
  require 'minitest'

  TEST = Minitest::Assertions

  module Helper::Scripts
    def self.assertion
       TEST.assert true 
    end
  end
end

Helper::Scripts.assertion #undefined assert

【问题讨论】:

  • 你想达到什么目的?
  • @Зелёный 我想为我所有的“助手”定义提供一个包装模块。不一定属于一个类,因为它们有助于整个应用程序。示例:Helper::Move.scroll_element_offset({params})

标签: ruby capybara minitest assertions


【解决方案1】:

您需要定义一个名为assertions的实例访问器

module TestHelpers
  include Minitest::Assertions

  # Number of assertions executed in this run
  attr_accessor :assertions

  def assert_true
    self.assertions = 0

    assert true
  end
end

我们可以这样使用TestHelpers:

class FooTest
  include TestHelpers
end

test = FooTest.new
test.assert_true #=> true

【讨论】:

    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多