Сценарий модульного теста завершился неудачно с использованием таймаута - PullRequest
0 голосов
/ 10 октября 2019

Я пробовал jest test script для моего бизнес уровня. Который написан graphql с машинописным шрифтом, mongodb с использованием фрейма nodejs. Я написал тестовый сценарий для получения метода данных пациента. Код

Test file:

import { PatientManager } from "./patient";

let patient = new PatientManager();

describe('getPatient', () => {
  test("patient detail", async () => {
    const users = {
      _id: "5d9dc0b3cb7a9972debc2520"
    };
    try {
      await expect(patient.findPatientById(users._id)).resolves.toBe(users);
    } catch (error) {
      console.log('error', error);
    }
  })
})

patient manger:

import { PatientPersitor } from "../data/persistor/patient";

export class PatientManager {
  patientPersitor = new PatientPersitor();
  async findPatientById(_id) {
    console.log("_id for find", _id);
    return await this.patientPersitor.findById(_id);
  }
}

persitor logic:

import PatientsModel from '../model/patient';

export class PatientPersitor {
  async findById(id: string) {
    console.log('find model:', id);
    let patientData = await PatientsModel.findById(id);
    console.log('response data:', patientData);
    return patientData;
  }
}

Patient Model(Объявление схемы пациента):

import mongoose, { Schema } from 'mongoose';

const PatientsModel = new Schema({
  patientFirstName: {
    type: String,
    required: true
  },
  patientLastName: {
    type: String,
    required: true
  },
  dob: {
    type: Date,
    required: true
  },
  services: {
    type: Array,
    required: true
  },
  profile: {
    type: String
  }
});
export default mongoose.model('patients', PatientsModel);

Здесь я получил ошибку тайм-аута

Тайм-аут - асинхронный обратный вызов не был вызван в течение тайм-аута 5000 мс, указанного в jest.setTimeout.Timeout - Asyncобратный вызов не был вызван в течение тайм-аута 5000 мс, указанного в jest.setTimeout.Error:

я увеличил тайм-аут, но та же проблема также catch не выдает никакой ошибки. Мне нужна помощь в этом вопросе также, чтобы предложить любой пример для создания, удаления, обновления методов и тестовых сценариев ".

...