Как заставить модульные тесты Meteor (клиент) (используя Velocity с Jasmine) работать в Cordova на устройстве?

У меня есть мобильный проект Meteor (Cordova + Ionic Framework + Angular-Meteor) с модульными тестами, настроенными с помощью Velocity и Жасмин. При тестировании в браузере клиентские тесты выполняются, как и ожидалось, но не работают на мобильных устройствах. Тестовые серверы размещены на локальном хосте, поэтому устройства не могут найти мой компьютер, на котором размещены приложение и тестовые серверы. Как изменить хост тестовых серверов Velocity с локального хоста на IP-адрес моей локальной сети?


person ABCD.ca    schedule 14.01.2016    source источник


Ответы (1)


Вам нужно установить переменную среды ROOT_URL. Я обнаружил, что если мое основное (не модульное тестирование) приложение Meteor обслуживается с 192.168.0.222:3000, моя переменная ROOT_URL должна выглядеть так:

ROOT_URL="http://192.168.0.222:3000"

Скорость использует разные порты для клиентских и серверных серверов модульного тестирования. 3000 в переменной ROOT_URL изменится на соответствующие порты и будет использовать IP-адрес хоста 192.168.0.222.

Вот как выглядит мой тестовый сценарий для запуска моего приложения на моем устройстве Android. Обратите особое внимание на переменную ROOT_URL:

echo
echo
echo "TIP: If you have changed IPs, delete your app from device first"
MONGO_URL="foo" \
MONGO_OPLOG_URL="bar" \
ROOT_URL="http://192.168.0.222:3000" \
VELOCITY_MONGO_URL="mongodb://127.0.0.1:27017/my_unit_test_db" \
meteor run android-device --mobile-server 192.168.0.222:3000
person ABCD.ca    schedule 14.01.2016