我想编写一些不对数据库进行任何更改的单元测试。
我有一个Rails 2.3.11应用程序。这个应用程序有一个SQLite数据库作为其主数据库。在许多方面,这是一个普通的Rails应用程序。
这个应用程序的独特之处在于它还建立了与SQL Server数据库的连接。我有一些模型是抽象类,他们使用SQL Server数据库。我有before_save
和before_destroy
个回调来阻止对SQL Server数据库进行任何更改。此外,连接到SQL Server的用户凭据应该是只读的。
我想编写单元测试,对SQL Server数据库中已存在的数据进行断言。但我不想设置或拆除SQL Server数据库。
我害怕看到会发生什么。我想在单元测试中有一个设置,可以防止Rails尝试设置或拆除SQL Server数据库。这可能吗?我该怎么做?
谢谢!
答案 0 :(得分:1)
安装/拆除只会影响应用程序数据库(SQLite,听起来像),而不会影响其他外部数据库连接。
此外,您应该将测试环境与生产环境完全分开。所以,如果你也在使用测试SQLServer数据库(并且你应该使用测试数据 - 而不是生产测试数据),那么即使最坏的情况发生,你也应该没问题。