Импортируйте код расширения ember непосредственно из готовых тестов.

Я работаю над созданием аддона для Ember, и я немного застрял, пытаясь написать для него тесты. Этот аддон реализует параметр командной строки, а не доставку компонентов и т. Д. В результате ни один из помощников тестирования типа moduleFor не подходит для меня в готовых тестах qunit. Я не визуализирую какие-либо компоненты, я просто хочу, чтобы средство запуска тестов проверяло реализацию, стоящую за моей опцией командной строки.

Чтобы написать мои тесты, мне нужно просто потребовать мои различные исходные файлы, которые находятся в моем дополнении. Например, файлы, находящиеся в root/lib. Я не могу получить запрос/импорт, который может найти эти файлы в тесте интеграции qunit в папке root/tests/integration. Это возможно? Мне нужен относительный путь, например:

import foo from '../../../lib/foo'

Но ничего там, кажется, не работает. Структура папок, созданная для аддона, выглядит следующим образом:

  • root
    • app
    • lib (планировал разместить здесь свой аддон)
    • tests
      • dummy
      • помощники
      • интеграция
      • example-test.js (попытка ссылки на код из папки lib отсюда)

Похоже, что мои варианты в этом случае — просто вернуться к какому-то простому старому модульному тестированию JS (qunit, jasmine и т. д.), базирующемуся в корне аддона, без использования какой-либо магии Ember или фиктивного приложения. Я хотел бы остаться на «стандартном» пути, предоставленном аддоном ember generate, но, похоже, мне нужно пойти своим путем, чтобы я мог ссылаться на свои исходные файлы.


person eddie.sholl    schedule 22.01.2016    source источник
comment
import foo from 'myAppName/lib/foo;` должно помочь   -  person Patsy Issa    schedule 22.01.2016


Ответы (1)


Использовать

import foo from 'myApp/lib/foo'
person kautilya    schedule 22.01.2016
comment
Нужно было упомянуть об этом в вопросе, этот подход работает наполовину, но в тестах для аддона корневое приложение на самом деле является фиктивным приложением в папке тестов. Я не знаю точно, что делает распознаватель Ember, но он делает корень приложения фиктивным приложением, а не моим приложением-аддоном, настоящим корнем. И переход от манекена, т.е. 'dummy/../../lib', ничего не находит. - person eddie.sholl; 24.01.2016