我知道Rake::TestTask。
但是,我如何编写Makefile来实现类似的功能呢?
我希望能够通过运行来运行我的所有Ruby测试:
make test
有一种方法可以运行一个测试文件,例如:
TEST=just_one_file.rb make test
我使用MiniTest。
我想要这个,因为我喜欢Make,我想开始更多地使用它。
我认为这个例子会对我有帮助。
我也不明白rake测试在幕后做了什么,所以看看Makefile可能会帮助我理解测试的运行方式。
答案 0 :(得分:1)
好吧,只需运行MiniTest
from command line:
这是你运行1个文件的方式:
$ ruby -Ilib:test test/minitest/test_minitest_unit.rb
要运行所有内容,您需要按某种模式收集所有文件(Rake::TestTask
默认使用test/test*.rb
)然后将其作为参数提供给上述命令,类似这样
$ find test -name 'test*.rb' | xargs ruby -Ilib:test
答案 1 :(得分:0)
├── Makefile
├── app
│ ├── controllers
│ ├── helpers
│ ├── views
├── test
│ ├── controllers
│ ├── helpers
│ ├── test_helper.rb
TEST := test/**/*_test.rb
.PHONY : test
test :
ruby -Itest -e 'ARGV.each { |f| require "./#{f}" }' $(TEST)
请参阅how to run all the tests with minitest?
make test # runs all tests
make test TEST=test/controllers/* # runs all tests in test/controllers
make test TEST='test/controllers/users_controller_test.rb test/controllers/groups_controller_test.rb' # runs some tests
make test TEST=test/controllers/users_controller_test.rb # runs a single test