【问题标题】:How can I run MiniTest tests before running normal code in the file?在运行文件中的普通代码之前,如何运行 MiniTest 测试?
【发布时间】:2013-12-03 11:49:33
【问题描述】:

我想更改我的以下代码

load "API.rb"
require 'minitest/spec'
require 'minitest/autorun'

class Test < MiniTest::Unit::TestCase
  MiniTest::Assertions.diff = nil
  def setup
  end

  def test_character_detection
    assert_equal "Gandalf", Story.get_first_character(2717)
  end
end

puts "TEST"

因此测试将在正常代码之前运行(在这种情况下 - 'puts "TEST"')。

【问题讨论】:

    标签: ruby minitest


    【解决方案1】:

    抱歉回复晚了。 Minitests很巧妙。

    minitest/autorun 使用at_exit 方法。当解释器的工作几乎完成时,它会执行给定的块。粗略地说,在程序生命周期的“最后”。虽然您可以多次调用at_exit 方法,但块将按 LIFO 顺序执行。


    有关at_exit 及其用法的更多有趣细节,您可以找到here

    您还可以查看 minitests source code。 (在这个文件中at_exit 调用)

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      相关资源
      最近更新 更多