【问题标题】:Testing a Rails app without a database在没有数据库的情况下测试 Rails 应用程序
【发布时间】:2011-11-08 13:26:44
【问题描述】:

我有一个使用 MySQL 数据库的 Rails 应用程序(Rails - 2.3.8,Linux),但数据库是单独生成的(不是通过 Rails 迁移),所以我想知道

如何在此应用程序上实施测试(请注意目前根本没有测试套件)?

我宁愿根本没有数据库并测试功能(包括通过单元测试的 ActiveRecord 模型)(因为它会使测试套件独立,如我所见)。

目前我通过 Stack Overflow 链接本身找到了这个 gem(temping - https://github.com/jpignata/temping)。

如果我走错了方向,请告诉我。

【问题讨论】:

    标签: ruby-on-rails testing


    【解决方案1】:

    这是一个很好的资源,介绍了一种使用 RSpec 的 TDD 方法,它比单元测试 imo 更强大。

    http://railscasts.com/episodes/275-how-i-test

    如果您避免使用 MySQL,您可以简单地在 Database.yaml 文件中指定 Sqlite3:

    test:
    adapter: sqlite3
    encoding: unicode
    database: gc_test
    pool: 5
    

    一定要包含 Gem:

    gem 'sqlite3-ruby'
    

    如果您在安装时遇到问题,请查看以下问题: Why can't I install the SQLite gem?

    【讨论】:

    • 嗨@hagope,谢谢你的回答,但我想即使使用sqlite3,我也需要一个schema.rb文件来加载数据库,但就我而言,我的db文件夹是空的。所以我想我不能使用 sqlite3,如果我错了,请纠正我,
    • 我最终转储了现有架构并创建了测试数据库
    猜你喜欢
    • 1970-01-01
    • 2018-05-15
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2012-08-16
    相关资源
    最近更新 更多