Сбой теста MongoDB с chai

#node.js #mongodb

#node.js #mongodb

Вопрос:

Я прохожу курс MongoDB о том, как подключить node к MongoDB. Я только написал это (в файле, который они предоставили для курса) :

     let result = await movies.findOne(
      {  countries: { $in: countries} },
      { projection : { title : 1}}
    )

    expect(result).not.toBeNull()
  

и получил эту ошибку :

 > server@1.0.0 test /Users/gaetan/WorkSpace/Back et front/Back/mflix-js
> jest --passWithNoTests "projection"

Determining test suites to run...Setup Mongo Connection
(node:5066) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
 FAIL  test/projection.test.js
  ProjectionCan perform a country search for one country (126ms)
    ✕ Can perform a country search for three countries (65ms)

  ● ProjectionCan perform a country search for one country

    Invalid Chai property: toBeNull

      60 |       { projection : { title : 1}}
      61 |     )
    > 62 |     expect(result).not.toBeNull();
         |     ^
      63 |     expect(Object.keys(result).length).toBe(2)
      64 | 
      65 | 

      at Object.proxyGetter [as get] (node_modules/chai/lib/chai/utils/proxify.js:78:17)
      at _callee3$ (src/dao/moviesDAO.js:62:5)
      at tryCatch (node_modules/regenerator-runtime/runtime.js:63:40)
      at Generator.invoke [as _invoke] (node_modules/regenerator-runtime/runtime.js:293:22)
      at Generator.next (node_modules/regenerator-runtime/runtime.js:118:21)
      at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
      at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:25:9)
  

Я не могу понять, в чем проблема, и я не понимаю журнал.
Есть идеи?

Комментарии:

1. не могли бы вы предоставить журнал самого результата, я предполагаю, что это проблема с jest, а не с вашим mongodb

Ответ №1:

Основываясь на обсуждении в github, для not null проверки лучше использовать другие функции, похоже, что в их api произошли некоторые изменения

 expect(foo).toBeTruthy();
expect(foo).not.toEqual(null);
  

Комментарии:

1. конечно, github.com/adobe/brackets/issues/5479

Ответ №2:

Итак, проблема с Chai теперь устранена. Я просто удалил код, использующий его. Никогда не слышал об этом раньше, выглядит круто. Теперь, чтобы разобраться с драйверами для MongoDB. Курс довольно размытый и неясный, IMO.

В любом случае, большое спасибо, ребята.