Ошибка типа: невозможно прочитать свойство '_ownerDocument' из неопределенного (Jest) - PullRequest
0 голосов
/ 04 мая 2020

Я использую Jest. js для тестирования моего node.js REST API.

Мой тестовый файл выглядит так:

'use strict';
const request = require('supertest');
const app = require('./app');

describe('Test /', () => {

    test('GET / succeeds (200 OK)', () => {
        return request(app)
        .get('/')
        .expect(200);
    });

    test('GET /monkey fails (404 not found)', () => {
        return request(app)
        .get('/monkey')
        .expect(404);
    });

    ...


});

Моя проблема в том, что я получаю ошибка TypeError: Cannot read property '_ownerDocument' of undefined для ПЕРВОГО теста в блоке описания.

Если я заменю первый тест на тест ниже, например, GET / monkey, то этот тест, который сейчас является ПЕРВЫМ тестом, завершится неудачно с той же ошибкой, а тест, который был первым и потерпел неудачу, завершится успешно, так как это уже не ПЕРВЫЙ тест.

Может ли кто-нибудь помочь мне?

пакет. json:

"scripts": {
    "test": "jest",
     ...
},

зависимости в приложении. js:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const fs = require('fs');
const fetch = require('node-fetch');
const { promisify } = require('util');
const readFile = promisify(fs.readFile);
const UI = require('./public/class.js');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.json());
app.set('view engine', 'ejs');
app.use(express.static('public'));
app.use('/public', express.static('public'));

...

module.exports = app;

ПРИМЕЧАНИЕ: Я использую Express + E JS в моем API.


РЕДАКТИРОВАТЬ: ОБНАРУЖЕНА ОШИБКА ЛИНИИ!

Эта строка вызывает ошибку: const UI = require('./public/class.js');

. Для большего контекста пользовательский интерфейс используется для доступа к классу пользовательских ошибок в классе. Файл js, которые были адаптированы с этого веб-сайта .

Пример строки кода в моем файле node.js: throw new UI.InternalError('unable to read JSON file').

Может кто-нибудь сказать мне, в чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...