Мы импортируем библиотеку JavaScript в lwc, используя статический ресурс, я хочу протестировать компонент с помощью JEst. Но статический ресурс не отображается во время выполнения тестового класса? Как я могу визуализировать?

0
Rah 14 Авг 2020 в 03:31
2
Не показывая нам свой код, ответить на него будет непросто! Я рекомендую вам добавить то, что вы пробовали, и с какой ошибкой вы столкнулись
 – 
Mohith Shrivastava
14 Авг 2020 в 06:03

1 ответ

Поскольку модульные тесты LWC Jest выполняются локально и независимо от организации, статический ресурс не будет автоматически загружаться так же, как в рабочей среде, если вы используете lightning/platformResourceLoader для загрузки ресурса.

Чтобы проверить, как компонент использует библиотеку Javascript в качестве статического ресурса, вы можете смоделировать lightning/platformResourceLoader, а затем require в библиотеке из локальной папки staticresources.

Вот соответствующий пример кода из теста в lwc-recipes, который загружает библиотеку moment:

jest.mock(
    'lightning/platformResourceLoader',
    () => {
        return {
            loadScript() {
                return new Promise((resolve, reject) => {
                    // If the variable is false we're simulating an error when loading
                    // the script resource.
                    if (!mockScriptSuccess) {
                        reject('Could not load script');
                    } else {
                        global.moment = require('../../../staticresources/moment');
                        resolve();
                    }
                });
            }
        };
    },
    { virtual: true }
);

Полный тестовый код здесь.

0
TrevorBliss 18 Авг 2020 в 18:07