Вы пытаетесь Test Unit некоторого кода, который как правило, работают в среде Worklight сервера, это зависит от
WorklightConfiguration.getInstance().getString(propertyName);
и может функционировать только внутри сервера не при запуске, как автономный модульный тест под чем-то вроде JUnit.
Как это решить? Во-первых, именно то, что вы пытаетесь проверить? Вы действительно пытаетесь проверить, что WorklightConfiguration.getInstance() работает? GetString()? Зачем вам это делать? Вы предлагаете протестировать каждый API-интерфейс Worklight? Я утверждаю, что ваш должен быть Unit, проверяющий ваш код, а не Worklight. Так что если у вас есть код, как этот псевдо-код:
figure out the name of a property
WorklightConfiguration.getInstance().getString(thePropertyWeJustFigured)
do some stuff with the value we obtained
, то вы можете проверить блок кода, обеспечивая Mock реализацию WorklightConfiguration API.Вы можете использовать фреймворки, такие как JMock, тогда вы в том положении, что ваш код будет выполняться внутри JUnit без ограничений на Worklight. Это истинное тестирование UNIT, тестирование без зависимостей.
Лично я не очень одобряю этот подход, усилие в подготовке Mocks довольно велико. Вместо этого я предпочитаю делать структурированные тесты интеграции. То есть я тестирую адаптер в целом, пока он работает внутри сервера Worklight. Возможно, я все еще использую JUnit, но в тестах, которые он запускает, используется инфраструктура вызова HTTP для вызова адаптера. Таким образом, тестовый скрипт идет:
ensure worklight server is running and adapter under test is deployed
run JUnit tests that issue HTTP requests to the adapter and inspect the results.
Какая версия подсветки вы используете? –
Что это за «путь конфигурации», на который вы ссылаетесь? Нет такой папки, файла или свойства в любом месте под папкой сервера в проекте Worklight; уточните пожалуйста в своем вопросе. Подробно о сценарии, который вы пытаетесь достичь. –
WorklightConfiguration.getInstance(). GetString ("mbaas.configRootDir"); Как это выглядит, И это определено в файле light.properties работы в папке server/conf. – cherry