Аватар для AlexKOR5
50 / 14 / 3
Регистрация: 15.02.2019
Сообщений: 514

Как исправить "TypeError: Cannot set property 'innerHTML' of null" в Jest

21.12.2021, 18:39. Показов 681. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. При запуске теста Jest выдает такую ошибку:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
PS E:\Programming\FP\FP_Practice\practice-1> jest
 FAIL  src/components/MySecondApp/MySecondApp.test.js
  ● Test suite failed to run
 
    TypeError: Cannot set property 'innerHTML' of null
 
      38 |
      39 | const append = curry((elementId, info) => {
    > 40 |     document.querySelector(elementId).innerHTML = info.orElse(errorLog
);
         |     ^
      41 |     return info;
      42 | });
      43 |
 
      at src/components/MySecondApp/MySecondApp.jsx:40:5
      at node_modules/ramda/src/internal/_curryN.js:46:27
      at fn (node_modules/ramda/src/internal/_arity.js:11:19)
      at IO.effect (src/monads/IO/IO.js:22:20)
      at IO.run (src/monads/IO/IO.js:31:21)
      at Object.<anonymous> (src/components/MySecondApp/MySecondApp.jsx:58:30)
      at Object.<anonymous> (src/components/MySecondApp/MySecondApp.test.js:1:1)
Как это исправить, и почему так случилось?
Программа сама работает, но тест не работает.
gitHub: https://github.com/AlexKor-5/F... e9cf3c05a3
Commit: "Updated! TypeError: Cannot set property 'innerHTML' of null"

Проблемный кейс: src\components\MySecondApp\MySecondApp.t est.js
JavaScript
1
2
3
4
5
6
7
8
9
import {cleanInput} from "./MySecondApp";
 
 
describe("showMyStudent", () => {
    it("returns clean input", () => {
        expect(1 + 5).toBe(6)
        expect(cleanInput(' 444-44-4444 ')).toBe('444-44-4444')
    })
})
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2021, 18:39
Ответы с готовыми решениями:

Ошибка Uncaught TypeError: Cannot set property 'innerHTML' of null
как исправить её?

Ошибка Js "Uncaught TypeError: Cannot set properties of null (setting 'innerHTML')" как исправить?
Сам недавно начал заниматься js. Решил написать чат на сокете и экспресс по видео. Писал всё ровно по видео. Столкнулся с ошибкой...

Uncaught TypeError: Cannot read property 'innerHTML' of null
Ошибка в работе кода: &lt;script type='text/JavaScript'&gt; function verocultar(cual) { ...

4
21 / 6 / 8
Регистрация: 31.05.2015
Сообщений: 151
21.12.2021, 21:17
AlexKOR5, А можете показать код функции cleanInput?
1
 Аватар для AlexKOR5
50 / 14 / 3
Регистрация: 15.02.2019
Сообщений: 514
21.12.2021, 22:23  [ТС]
Цитата Сообщение от ksardas2008 Посмотреть сообщение
AlexKOR5, А можете показать код функции cleanInput?
Могу
JavaScript
1
2
3
const trim = (str) => str.replace(/^\s*|\s*$/g, '');
const normalize = (str) => str.replace(/-/g, '-');
export const cleanInput = compose(normalize, trim);
compose это из Ramda
0
 Аватар для Ovederax
604 / 404 / 212
Регистрация: 30.04.2017
Сообщений: 744
Записей в блоге: 1
22.12.2021, 08:09
можно вынести функции-утилиты в отдельный файл,

этот код исполняется при подключении MySecondApp файла и дает ошибку тк нет среды для запуска подобного браузерного js кода,
да и в целом этот код странный, зачем его выполнять сразу и хранить именно в этом файле
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const append = curry((elementId, info) => {
    document.querySelector(elementId).innerHTML = info.orElse(errorLog);
    return info;
});
 
const liftIO = val => IO.of(val)
 
const showMyStudent = compose(
    map(append('#student-name')),
    tap(trace('Data before append = ')),
    liftIO,
    map(csv),
    map(props(['ssn', 'firstname', 'lastname'])),
    tap(trace('Record fetched successfully!')),
    chain(findStudent),
    tap(trace('Input was valid')),
    lift(cleanInput)
);
 
showMyStudent('444-44-4444').run()
console.log("______________________________________TEST________________________________");
1
 Аватар для AlexKOR5
50 / 14 / 3
Регистрация: 15.02.2019
Сообщений: 514
22.12.2021, 11:41  [ТС]
Цитата Сообщение от Ovederax Посмотреть сообщение
можно вынести функции-утилиты в отдельный файл,

этот код исполняется при подключении MySecondApp файла и дает ошибку тк нет среды для запуска подобного браузерного js кода,
да и в целом этот код странный, зачем его выполнять сразу и хранить именно в этом файле
Это учебный код. Потому я ничего и не выносил, так как не в этом суть моего задания
То есть вы хотите сказать, что если я вынесу функции из это файла, то всё должно заработать?
И проблема в том, что этот код абсолютно рабочий, и програма работает, тест только падает после запуска и нужно сделать чтобы он работал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2021, 11:41
Помогаю со студенческими работами здесь

Cannot set property innerHTML of null
Уже мучаюсь второй день. var Engine = { scene : $(&quot;#scene&quot;), data : $(&quot;#data&quot;), app : $(&quot;#app&quot;), project :...

Ошибка Uncaught TypeError: Cannot set properties of null (setting 'innerHTML')
Недавно начала заниматься js. Верстаю функционал интернет-каталога с корзиной и заказом. Писала все по видео, столкнулась с ошибкой...

Uncaught TypeError: Cannot set property 'fillStyle' of null
При выполнении следующего кода ошибок нету. Но вот иногда выскакивает ошибка Не смог определить закономерность появления ошибки. ...

Uncaught TypeError: Cannot set property 'onclick' of null at window.onload
На этом сайте возникает ошибка http://www.wnero.esy.es Полностью ошибка звучит так Uncaught TypeError: Cannot set property...

Uncaught TypeError: Cannot set property 'onclick' of null(anonymous function)
пробовал произвести расчет.Но консоль пишет-Benzin.html:27 Uncaught TypeError: Cannot set property 'onclick' of null(anonymous function) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru