Тип элемента недействителен для метода рендеринга «Приложения» с использованием шутки.Javascript

Форум по Javascript
Ответить
Anonymous
 Тип элемента недействителен для метода рендеринга «Приложения» с использованием шутки.

Сообщение Anonymous »

Поэтому я не могу обойти проблему, с которой столкнулся в течение некоторого времени и хотел обратиться за помощью.
Не знаю, как решить эту проблему или как ее отладить, я новичок в шутке и с трудом понимаю это в завершенном проекте.
Я не могу ничего изменить в App.tsx, поскольку это находится на стороне разработчика, а я нахожусь на стороне сторона тестирования.
Поэтому я пытаюсь запустить простой шуточный тест для визуализации элемента App. Это наш App.test.tsx:

Код: Выделить всё

test('render application', () => {
render();
}
Вот какая ошибка:

Недопустимый тип элемента: ожидалась строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получено: неопределенное. Проверьте метод рендеринга «Приложения».

если я сделаю следующее, тест пройдет:

Код: Выделить всё

function App() {
return (


Hello World


);
}
Однако, если я это сделаю, в LocalizationProvider произойдет сбой:

Код: Выделить всё

function App() {
return (



Hello World



);
}
Это LocalizationProvider.d.ts:

Код: Выделить всё

export declare const LocalizationProvider: LocalizationProviderComponent;
export {};
Вот наш App.tsx:

Код: Выделить всё

import React from "react";
import { ApolloProvider } from "@apollo/client";
import CssBaseline from "@mui/material/CssBaseline";
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";
import { apolloClient } from "./apollo/client";
import AuthProvider from "./providers/AuthProvider";

function App() {
return (







);
}

export default App;
Вот мой файл setupTests.ts, в который я пытался включить множество макетов:

Код: Выделить всё

import '@testing-library/jest-dom';

Object.defineProperty(window, 'matchMedia', {
writable: true,
value: (query: string) => ({
matches: false,
media: query,
onchange: null,
addListener: function () {},
removeListener: function () {},
addEventListener: function () {},
removeEventListener: function () {},
dispatchEvent: function () {
return false;
},
}),
});

jest.mock('@mui/x-date-pickers/LocalizationProvider', () => ({
__esModule: true,
default: (p: { children?: any }) => p.children,
}));
Любая помощь приветствуется!

Подробнее здесь: https://stackoverflow.com/questions/797 ... using-jest
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»