Жасмин 'ожидаем (...). WithContext не является функцией' ошибка - PullRequest
2 голосов
/ 03 апреля 2019

Я искал способ сделать сообщения об ошибках более понятными в Jasmine и нашел эту функцию https://jasmine.github.io/api/edge/matchers.html#withContext

Поэтому я пробую это в моей платформе Protractor, как это

expect(true).withContext("something else").toBe(false);

Запустите тест и получите ошибку - Failed: expect(...).withContext is not a function

Эта функция была реализована начиная с Jasmine 3.3.0, поэтому я проверил свой package.json и увидел "jasmine": "^3.3.1" и package-lock.json имеет

"jasmine-core": {
      "version": "3.3.0",

Есть идеи, что не так?

1 Ответ

2 голосов
/ 04 апреля 2019

Только что получил ответ от команды Jasmine на GitHub о том, что

Транспортир использует оболочку jasminewd, которая использует Jasmine 2.x.Если вы хотите использовать Jasmine 3.x, вы можете использовать Protractor 6.0, который был выпущен недавно.В более старых версиях новейшие функции Jasmine, такие как функция withContext, не поддерживают асинхронные хуки (например, onSpecDone).

Помимо разницы в версии Protractor, я обнаружил, что мой исполнитель задач grunt использует grunt-protractor-runner v5.0.0 который использовал транспортир 5.4.2.Поэтому мне пришлось открыть protractor.conf.js напрямую с помощью транспортира.

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