ruby-on-rails - 运行 rspec 的不同机器上规范的数组顺序不同

标签 ruby-on-rails ruby sql-server odbc

我正在使 Rails 应用程序能够在除共享虚拟机(CentOS 5.5)之外的不同计算机上运行。

我已经在运行 10.7.3 的 OSX 上通过了测试,但少数确实输出了正常结果,但顺序不同,例如:

'some test' FAILED
expected: [831557419, 372199733, 89450236],
     got: [372199733, 831557419, 89450236] (using ==)

我有点迷失了如何调试和解决这个问题。有什么提示或线索可供我查看吗?

我正在使用 unixodbc、freetds 和 activerecord-sqlserver-adapter。它是 Rails 2.3.8 应用程序和 RSpec 1.3。

PS:编辑指出项目中有固定装置。有人建议这可能是问题所在(这里的夹具是按不同的顺序创建的),但我不知道如何解决它。

PPS:这是在从原始虚拟机克隆的多个虚拟机上运行的当前应用程序。

测试对大部分预期值进行了硬编码,但测试确实在这些虚拟机上通过了。如果可能的话,我宁愿不改变实际测试。

我是代码库新手,从事咨询工作。我试图在我的机器上进行这项工作,以证明我们可以使用任何机器进行开发(而不是提供无人喜欢编码的虚拟机)。顺序很重要。

最佳答案

如果输出以任何顺序都可以接受,请使用以下形式:

output.should =~ [831557419, 372199733, 89450236]

关于ruby-on-rails - 运行 rspec 的不同机器上规范的数组顺序不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950282/

相关文章:

sql-server - 更改存储过程是否会使缓存的执行计划过期?

sql-server - 在 T-SQL 中指定给定日期的正确方法

python - 如何在 Python 的 PyPyODBC 模块中使用 FetchAll?

ruby-on-rails - 每次进行更改时,Rails 服务器都需要重新启动吗?

javascript - CORS 问题 : Getting error "No ' Access-Control-Allow-Origin' header is present"when it actually is

ruby-on-rails - 使用 wicked_pdf gem 用 wkhtmltopdf 生成 PDF,卡在 Mac 上

ruby-on-rails - rails 验证 : :allow_nil and :inclusion both needed at the same time

Ruby:如何打印二维数组?

ruby - 获取 Errno::ENOENT: No such file or directory - 在 docker 中创建数据库时在 padrino api 中创建

ruby-on-rails - 使用 find_or_create 进行 Rails 事务