你如何让Rails 5测试运行器在非标准的tests / *文件夹中运行测试?

时间:2017-06-29 02:52:44

标签: ruby-on-rails ruby-on-rails-5

我的应用程序中的类并不真正适合典型的Rails文件结构。基于Yehuda Katz在this Stackoverflow answer中的建议,我决定创建一个app/classes文件夹。我想测试这些类,所以我还创建了一个test/classes文件夹。

我的问题是我似乎无法让测试运行员在test/classes中运行测试 - 我怎么能这样做呢?

我有app/classes/card.rbtest/classes/card_spec.rb。以下是目前正在发生的事情:

code/poker_analyzer [master●] » test
code/poker_analyzer [master●] » test test/classes/card_spec.rb
code/poker_analyzer [master●] » bin/rails test
Running via Spring preloader in process 8991
Run options: --seed 14207

# Running:



Finished in 0.000522s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
code/poker_analyzer [master●] » bin/rails test test/classes/card_spec.rb
Running via Spring preloader in process 9005
Run options: --seed 33782

# Running:

.

Finished in 0.001655s, 604.2296 runs/s, 604.2296 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
code/poker_analyzer [master●] »

所以它似乎只在我运行bin/rails test test/classes/card_spec.rb时起作用。如何让它在其他场景中运行?

更新:它应该只适用于bin/rails开头的场景。那么,我的问题是为什么bin/rails test不起作用。

1 个答案:

答案 0 :(得分:1)

我只使用了RSpec,所以这是一种推测,但我很确定你的test/classes/card_spec.rb文件的后缀必须是_test而不是_spec才能使它成为由跑步者自动拾取。

因此,请将名称更改为test/classes/card_test.rb,它应该有效。