问题描述
我是Ruby开发生态系统的新手,在业余时间学习Rails。但是,我想从头开始构建一个命令行应用程序,并将单元测试作为学习的一部分。
Ruby命令行项目的推荐结构是什么?我想到的是
/test
- person_test.rb
/src
- person.rb
main.rb
Gemfile
Gemfile.lock
谢谢
解决方法
宝石单元测试
如果您使用的是MiniTest或类似产品,则宝石 foo 中的预期位置为foo/test
。如果您使用的是RSpec或minitest / spec,则应使用foo/spec
。
使用Bundler生成新的宝石骨架时,它将提供以下默认值:
$ bundle gem foo; tree foo
foo ├── Gemfile ├── README.md ├── Rakefile ├── bin │ ├── console │ └── setup ├── foo.gemspec ├── lib │ ├── foo │ │ └── version.rb │ └── foo.rb └── spec ├── foo_spec.rb └── spec_helper.rb 4 directories,10 files
默认Rakefile设置为运行RSpec,但是您当然可以实现Rakefile的默认任务并以任何所需的方式进行测试。