Итак, я пытаюсь проверить свой API и мокко js, и я получаю эту ошибку.
SAMPLE unit test
1) should return posts with tag tech sorted by likes
0 passing (26ms)
1 failing
1) SAMPLE unit test
should return home page:
Uncaught TypeError: Cannot read properties of undefined (reading 'should')
at Test.<anonymous> (test\get_info.test.js:22:18)
at Test.assert (node_modules\supertest\lib\test.js:172:8)
at localAssert (node_modules\supertest\lib\test.js:120:14)
at C:\Users\tiktk\Desktop\Fetch\node_modules\supertest\lib\test.js:125:7
at Test.Request.callback (node_modules\superagent\lib\node\index.js:927:3)
at ClientRequest.<anonymous> (node_modules\superagent\lib\node\index.js:844:12)
at ClientRequest.emit (node:events:390:28)
at Socket.socketErrorListener (node:_http_client:447:9)
at Socket.emit (node:events:390:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
У меня установлены и обновлены все зависимости, но я все еще получаю эту ошибку.
var supertest = require("supertest");
var should = require("should");
var server = supertest.agent("http://127.0.0.1:3000");
describe("Api unit test",function(){
it("should return posts with tag tech sorted by likes",function(done){
server
.get("/api/posts?tags=tech&sortBy=likes&direction=desc")
.expect("Content-type",/json/)
.expect(200)
.end(function(res){
// HTTP status should be 200
res.status.should.equal(200);
// Error key should be false.
res.body.error.should.equal(false);
done();
});
});
});
Ссылка должна возвращать набор объектов в виде файла JSON, отсортированного по лайкам (в данном случае)
Ошибка, скорее всего, возникает из-за того, что res.body.error
не определено, когда у вас нет ошибки. В этом случае ваш тест должен выглядеть примерно так:
res.body.should.not.have.property('error')
Чтобы подтвердить мою гипотезу, вы должны console.info содержимое res.body
перед проверкой ошибки.