Я в настоящее время настраиваю тестовую среду и сталкиваюсь с проблемой, что все мои вызовы .hasClass возвращают false.
Текущая настройка: Мои реагирующие компоненты импортируют файлы css с оператором импорта. Например: import styles from "./text.scss";
Чтобы протестировать компоненты, мне нужно было определить moduleNameMapper в файле jest.config. js примерно так:
moduleNameMapper: { "\\.(scss|less)$": "<rootDir>/__mocks__/styleMock.js" },
Я думаю, что moduleNameMapper отчасти ответственен за проблемы, так как он заменяет по умолчанию все определения s css на пустой модуль. (styleMock. js content - это просто module.exports = {};
) Но мне нужно, чтобы он протестировал мои компоненты, иначе это приведет к ошибке, когда jest попытается загрузить s css import.
Когда я Теперь попробуйте это:
it("is Title", () => {
const wrapper = shallow(<Text textType={TextType.Title} />);
expect(wrapper.find("div").hasClass("Title")).toEqual(true);
});
Всегда возвращает false.
Есть ли решение о том, как проверить классы s css (с .hasClass из фермента?), когда у вас есть s css импортировать операторы в ваш компонент?