Различный порядок массива в спецификациях на разных машинах, работающих под управлением rspec - PullRequest
2 голосов
/ 31 марта 2012

Я работаю над тем, чтобы приложение Rails могло работать на других машинах, кроме виртуальной машины, которая используется совместно (CentOS 5.5).

У меня есть тесты, которые я должен пройтиOSX работает под управлением 10.7.3, за исключением нескольких, которые выдают нормальные результаты, но с другим порядком, например:

'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: это текущее приложение, запущенное на нескольких виртуальных машинах, клонированныхоригинальная вм.

Тесты имеют большинство из этих ожидаемых значений с жестким кодом , но тесты проходят на этих виртуальных машинах.Я бы не стал менять реальные тесты, если это возможно.

Я новичок в кодовой базе, на консультационной работе.Я пытаюсь заставить это работать на моей машине, чтобы доказать, что мы можем использовать любую машину для разработки (вместо предоставленной виртуальной машины никто не любит кодировать).Порядок важен.

Ответы [ 2 ]

3 голосов
/ 31 марта 2012

Если выходные данные приемлемы в любом порядке, используйте эту форму:

output.should =~ [831557419, 372199733, 89450236]
2 голосов
/ 03 апреля 2012

Решено это путем изменения версии Ruby.Очевидно, 1.8.7 @ patchlevel> 250 изменяет что-то, что вызывает такое поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...