-->

与MINITEST多个测试(Multiple tests with minitest)

2019-09-27 03:55发布

我有写入一些规范的应用程序MINITEST 。 像往常一样,我开始使用他们rake

因为有些时候,我得到了一个随机的结果,我的规格可以通过一次,失败的其他时间。

在这种情况下,我可以保持序列号,后来重播,固定后。 因为我有这样的测试(用随机结果),我一般运行rake许多时间,只是为了确保该应用程序是好的。

我想知道是否有执行多个一种很好的方式rake试验(100次为例),如果有阻止他们的任何故障或任何错误?

Answer 1:

我创建了随机结果的虚拟测试来模拟您的情况:

#store it as file 'testcase.rb'
gem 'test-unit'
require 'test/unit'

class X < Test::Unit::TestCase
  def test_1
    num = rand(10) 
    assert_true( num < 5, "Value is #{num}")
  end
end 

以下任务调用测试10次,第一次失败后停止:

TEST_REPETION = 10
task :test do
  TEST_REPETION.times{
    stdout = `ruby testcase.rb`

    if stdout =~ /\d+\) Failure/
      puts "Failure occured"
      puts stdout
      exit
    else
      puts 'Tests ok'
    end
  }
end

对于实际使用我会适应一些地方:

  • 相反, puts 'Tests ok'定义一个柜台看看测试是否经常因succussfull
  • 相反, puts stdout ,你可以将结果存储在结果文件?


Answer 2:

我想你应该重新考虑你的测试,不是测试呼叫。 用随机结果的测试寻找错误的我。

是什么在测试中的随机因素? 你能写的随机因子模拟元件和用于模拟元件不同的值重复测试。 所以,你得到一个“完整”的考验。



文章来源: Multiple tests with minitest