当我想运行所有单元测试时,我运行rake test:units.要运行我的所有功能测试,我运行rake test:functionals.如果我想在一个文件中运行所有测试用例,我会运行
ruby test/unit/username_test.rb
有些人一直在告诉我,我应该用rake来代替
rake test:单位TEST = test/unit/username_test.rb
对于运行测试,他们说我应该总是运行rake.我知道如果我正在测试我所有的单元测试,我应该运行rake.但是,如果它只是我正在测试的文件中的一个文件或一个特定的测试方法呢?我还应该用耙子吗?这两者有什么区别吗?在红宝石上运行rake可以获得任何好处吗?运行红宝石而不是耙是否有任何不利之处?
可悲的是,两者并不相同.在rake下运行测试可以最终从不同的地方拉出东西,而不是直接运行测试(当你的系统上有多个版本的宝石时,更多的问题).
目的是在rake下运行的测试应该在与rails会产生的环境相匹配的环境中; 我无法证明它们的匹配程度,但我看到直接运行时通过的测试但是通过rake或rails运行时失败(反之亦然).