在哪里存储RSpec测试文件(CSV,JSON等)?

时间:2015-09-21 07:44:42

标签: ruby-on-rails json unit-testing csv rspec

我正在编写一些涉及我的应用生成的CSV的规范。我嘲笑这些文件,目前在我的测试文件中输出。但我觉得这种方法不对,我想在某些共享规范文件夹中也可以将这些模型用于其他规范。

那么,你对此有何建议?在哪里存储对多个规范有用的测试文件?

1 个答案:

答案 0 :(得分:2)

关于您的初始问题以及评论中的后续问题("这是一个使用过的场景,还是首选直接在规范文件中模拟它们"),我会考虑两件事:输出是非常大的(比如说,超过十行),还是在多个测试文件中重复?如果其中任何一个都成立,那么创建一个包含Plain Ol' Ruby对象(比如,在模块中存储为常量的Ruby哈希或数组),或JSON,YAML或CSV文件,并将其存储在spec/supporttest/support为Minitesters存在)。

如果这两件事都没有,那么我认为在测试文件中设置数据非常好,因为用户不必不必要地查看多个文件来确定测试的工作方式。

我不喜欢spec/fixtures存储CSV文件的想法,因为fixtures在Ruby白话中具有非常特殊的含义。