【问题标题】:Where to store RSpec test files (CSVs, JSONs etc.)?在哪里存储 RSpec 测试文件(CSV、JSON 等)?
【发布时间】:2015-09-21 07:44:41
【问题描述】:

我正在编写一些涉及我的应用生成的 CSV 的规范。我模拟了这些文件,目前在我的测试文件中有它们的输出。但我觉得方法不对,我希望这些模拟也可用于其他规范,在某种共享规范文件夹中。

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

【问题讨论】:

  • 测试可访问的任何地方。 spec/support 通常是一个不错的候选人。
  • 这是一个使用过的场景还是更喜欢直接在规范文件中模拟它们?
  • 也许然后到spec/fixtures 文件夹,因为这些是静态文件?

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


【解决方案1】:

关于您最初的问题以及您在 cmets 中的后续问题(“这是一个使用过的场景还是更喜欢直接在规范文件中模拟它们”),我会考虑两件事:输出是否非常大(例如,超过十行),还是在多个测试文件中重复?如果其中任何一个为真,则创建一个 Ruby 文件,其中包含一个普通的 Ol' Ruby 对象(例如,一个 Ruby 哈希或作为常量存储在模块中的数组),或者一个 JSON、YAML 或 CSV 文件,并将其存储在spec/supporttest/support 代表 Minitesters)。

如果这些都不成立,那么我认为在测试文件中包含设置数据非常棒,因为用户不必不必要地查看多个文件来了解测试的工作原理。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2014-01-05
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多