func
определяется в области видимости модуля. Невозможно достичь переменных за пределами области, в которой они были определены в JavaScript.
Даже если бы func
было экспортировано, было бы невозможно обеспечить для него надлежащие модульные тесты, то есть проверить func
в одном тесте, а затем проверить модуль в зависимости от func
(MyComponent
) в другом тесте с func
насмехается / шпионит. func
относится к модулю, его вызовы не могут быть отслежены или заблокированы.
Чтобы быть полностью тестируемым, func
должен быть методом класса, это имеет смысл, если func
и MyComponent
связаны между собой. Или переместите func
в другой модуль. В этом случае можно смоделировать модуль или, как объяснено в этот ответ , из-за того, как работают модули ES, func
импорт может быть смоделирован / шпионить над модулем *
import.