您如何仅使用rails Test :: Unit或minitest运行一个测试断言?

问题描述 投票:0回答:1

我正在一个项目,该项目具有用minitest编写的旧式测试。您如何只在测试文件中运行一个断言?

注意:我有我的问题的答案,我会在稍后发布。我将其放在此处以便a)可以使他人受益,以及b)如果我忘记了答案,或者忘记了我已经弄清楚了这一点,希望自己能找到。并笑个好。

ruby-on-rails minitest testunit
1个回答
1
投票

回答我自己的问题,以便其他人可以从中受益,如果我忘记了,希望我能找到它...

我发现了两种不同的方式来运行这些测试,以及如何指定选项。语法略有不同,具体取决于您如何运行它们。但是,最重要的细节是:

  • 如果指定确切名称,则必须在实际测试名称前加上"test: "前缀,并在其后加上". "-这两个尾随的空格都很重要
  • 您可以提供正则表达式,它将以/whatever/形式的选项识别为正则表达式
  • 选项的名称为-n--name

这是从单个测试文件运行单个断言的两种方法:

bundle exec ruby -Itest path/to_test.rb '--name test_: the exact test name as discovered by running with -v. '

bundle exec rake test TEST=path/to_test.rb TESTOPTS="--name 'test_: the exact test name as discovered by running with -v. '"

这是使用正则表达式的外观:

bundle exec rake test TEST=path/to_test.rb TESTOPTS="--name '/test name as discovered/'"

请注意,当然存在多种处理引号/转义的方法,似乎您可以在-n=value之外使用-n value

© www.soinside.com 2019 - 2024. All rights reserved.