gpt4 book ai didi

mysql - 针对本地数据库的 Rspec 测试

转载 作者:行者123 更新时间:2023-11-28 23:33:50 30 4
gpt4 key购买 nike

我目前正在运行一个应用程序,该应用程序使用带有 MySQL2 gem 的 Ruby 2.1.4 将数据从 API 移动到 MySQL 数据库中。

我正在尝试为此应用程序创建 RSPEC 测试,但问题是该应用程序主要是 MySQL 查询,我不想模拟查询调用,因为我想测试我的查询以确保它们按预期工作.

我曾尝试通过在本地运行 rspec 时将客户端更改为 sqlite3 gem 来做到这一点,但问题是 SQLite3 和 MySQL2 处理查询的方式不同。 (Mysql2 使用 Client.query,而 SQLite 使用 Client.execute)。

我正在尝试模拟 rails + rspec 以及它如何在本地使用 sqlite 而在远程使用 mysql。

我怎样才能在不启动外部服务器的情况下在本地执行此操作?我需要使用 ActiveRecord 还是有一些方法可以创建一个 CSV 文件,我可以将其传递给我在应用程序开始时创建的 MySQL 客户端?

对于我能得到的任何帮助,或者您对我如何调整解决此问题的方法的任何建议,我深表感谢。代码片段如下:

RSPEC 测试 RSPEC test

ruby 应用 Ruby Application

最佳答案

与其尝试在方孔中安装圆钉,不如在您的测试环境中完全使用 MySQL? sqlite3 并不总是准确地模拟 MySQL,因此您可能只需在本地计算机上设置和使用 MySQL 即可获得更可靠的测试。您可能会发现您的测试也可能运行得更快。

就个人而言,我总是针对我在生产中运行的相同类型的数据库进行测试,以避免出现您描述的问题。

关于mysql - 针对本地数据库的 Rspec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415328/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com