Модульные тесты дают разные результаты при использовании PostgreSQL - PullRequest
0 голосов
/ 17 июня 2019

Работал над модулем, который работает довольно хорошо при использовании MySQL, но когда я пытаюсь запустить модульные тесты, я получаю ошибку при тестировании под PostgreSQL (используя Travis).

Сам модуль находится здесь: https://github.com/silvercommerce/taxable-currency

Пример неудачной сборки приведен здесь: https://travis -ci.org / silvercommerce / taxable-currency / jobs / 546838724

Не знаюУ меня огромный опыт использования PostgreSQL, но я не совсем уверен, почему это может происходить?Единственное, что я мог подумать, что это может быть причиной, это то, что я пытаюсь вручную установить идентификаторы в моем файле фикстур, и, возможно, PostgreSQL не поддерживает это?

Если это не так, у кого-нибудь есть идея, чтоможет быть причиной этой проблемы?

Редактировать: Я снова посмотрел на это, и ошибки, кажется, из-за это утверждение , которое должно найти налоговую ставку НДС но вместо этого находит Налоговую ставку сниженную

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

1 Ответ

1 голос
/ 19 июня 2019

В конце концов, похоже, что Postgres имеет другую сортировку по умолчанию для MySQL (https://www.postgresql.org/docs/9.1/queries-order.html). Интересующая линия:

Фактический порядок в этом случае будет зависеть от сканирования иобъединить типы планов и порядок на диске, но на него нельзя полагаться

В конце концов мне не нужно было проверять список с несколькими элементами, поэтому вместо этого я просто удалил дополнительные элементы.

Если вы работаете над чем-то, что должно поддерживать MySQL и Postgres, вам может потребоваться определить согласованный порядок сортировки как часть вашего запроса.

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