[英]Rspec: how to access other database in a test
在我的Rspec测试中,我需要为其他数据库而不是应用程序的测试数据库创建一些表,该怎么做?
基本上,在我的Rspec测试中 ,在before(:all)
,我想从转储文件执行SQL,该转储文件将表创建到另一个数据库 。
但是当我运行Rspec测试时,它将在测试数据库中创建所有表(这是可以理解的,因为它在应用程序的Rspec测试中。)
那么,如何在我的Rspec测试代码中运行sql来创建到另一个数据库的表?
所有测试均在Rails测试环境中运行。 此处执行的所有SQL都限于测试环境。
您可以通过以下方式访问所需的任何数据库:
ActiveRecord::Base.establish_connection(
:adapter => 'mysql2',
:database => 'db_name',
:username => 'root',
:password => '',
:host => 'localhost')
当然,哈希可以更改。 我从来没有尝试过你所期望的。 我认为一旦完成其他调用,您应该重新连接到测试数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.