Я использую Karma для модульного тестирования некоторых моих сценариев, которые являются частью моего приложения rails, но у меня возникают проблемы с импортом файла 'utility.js', в котором есть несколько служебных функций, которые я использую в своем коде.Это прекрасно работает, когда я запускаю приложение rails, мой манифест загружает файл первым, а функции доступны по всему миру, но когда я использую этот код в верхней части моего файла теста кармы, функция make_index_array()
определяется в полезности.JS не найден.make_index_array () вызывается одним из методов в тестируемом классе I (DetailBudget).
import "../../app/assets/javascripts/utility.js"
import {DetailBudget} from "../../app/assets/javascripts/budgeting_scripts/detail_budget_classes.js"
Вот сообщение об ошибке:
START:
Chrome 71.0.3578 (Mac OS X 10.14.2) ERROR
{
"message": "An error was thrown in afterAll\nUncaught ReferenceError: make_index_array is not defined",
"str": "An error was thrown in afterAll\nUncaught ReferenceError: make_index_array is not defined"
}
Confirm test setup
✔ does works
Finished in 0.002 secs / 0.002 secs @ 10:57:35 GMT-0800 (Pacific Standard Time)
Вот функция make_index_array какопределено в utility.js:
function make_index_array(low, high) {
let list = [];
for (let i = low; i <= high; i++) {
list.push(i);
}
return list;
}
Karma настроен на использование ChromeBrowser с Rails 5.2 (в этом наборе есть два теста, первый из которых (тот, который проходит) только для того, чтобы убедиться, чтонастройка работает.