我正在编写一些涉及我的应用生成的CSV的规范。我嘲笑这些文件,目前在我的测试文件中输出。但我觉得这种方法不对,我想在某些共享规范文件夹中也可以将这些模型用于其他规范。
那么,你对此有何建议?在哪里存储对多个规范有用的测试文件?
答案 0 :(得分:2)
关于您的初始问题以及评论中的后续问题("这是一个使用过的场景,还是首选直接在规范文件中模拟它们"),我会考虑两件事:输出是非常大的(比如说,超过十行),还是在多个测试文件中重复?如果其中任何一个都成立,那么创建一个包含Plain Ol' Ruby对象(比如,在模块中存储为常量的Ruby哈希或数组),或JSON,YAML或CSV文件,并将其存储在spec/support
(test/support
为Minitesters存在)。
如果这两件事都没有,那么我认为在测试文件中设置数据非常好,因为用户不必不必要地查看多个文件来确定测试的工作方式。
我不喜欢spec/fixtures
存储CSV文件的想法,因为fixtures
在Ruby白话中具有非常特殊的含义。