Я столкнулся с действительно интересной проблемой. Я запускаю JEST-тест для проверки запросов БД (PostgreSQL). Мой тест выглядит так:
test('should test getAllRefuels query SUCCESS', async () => {
await RefuelQueries.getAllRefuels({ limit:10, skip:0 }).then(data => {
expect(data).toMatchObject([{ "date" : "2020-02-12T23:55:00.000Z", "refuel_id": 1, "refueled": 184}, {"date": "2020-02-11T23:55:00.000Z", "refuel_id": 2, "refueled": 213}]);
});
});
Вы можете подумать, что это сработает, и тест пройдет (при условии, что вы получите взамен то, что ожидаете). И вы делаете, но нет «около даты. Поэтому результат, который я получаю от Jest, следующий:
● Queries › should test getAllRefuels query SUCCESS
expect(received).toMatchObject(expected)
- Expected - 2
+ Received + 2
Array [
Object {
- "date": "2020-02-12T23:55:00.000Z",
+ "date": 2020-02-12T23:55:00.000Z,
"refuel_id": 1,
"refueled": 184,
},
Object {
- "date": "2020-02-11T23:55:00.000Z",
+ "date": 2020-02-11T23:55:00.000Z,
"refuel_id": 2,
"refueled": 213,
}
]
Так что единственная разница в том, что я получаю дату без». Это все нормально, но я не могу избавиться от "вокруг моего ожидаемого объекта, так как я получаю ошибку JavaScript (это больше не будет действительным JavaScript Object). Итак, как проверить объект, который не является объект ...