怎么可能既不是 deepStrictEqual 也不是 notDeepStrictEqual?
How can something be neither deepStrictEqual or notDeepStrictEqual?
我正在用 supertest 和 mocha+standard assert 测试我的 REST API 并且我 运行 遇到了这个问题,其中两个测试用例 return false,顺便说一句 Mongo 是 return 一个错误,所以我知道一个是错误的,但为什么两个都是?
describe("GET /2/test", () => {
let data = Object.create(sampleData);
data.type = "test";
it("responds with the correct document to correct input", function() {
return request(app)
.get(`/2/test`)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then(res => {
assert.deepStrictEqual(res.body.field1, data.field1);
assert.deepStrictEqual(res.body.field2, data.field2);
});
});
it("responds with something else to false input", function() {
return request(app)
.get(`/2/test`)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then(res => {
assert.notDeepStrictEqual(res.body.field1, data.field1);
assert.notDeepStrictEqual(res.body.field2, data.field2);
});
});
});
如果它们显然未定义,那么如果您 运行 遇到此错误,请确保正在比较的变量不是未定义的。它没有定义,因为我使用的是 Object.create(sampleData);
而不是 Object.assign(sampleData);
我正在用 supertest 和 mocha+standard assert 测试我的 REST API 并且我 运行 遇到了这个问题,其中两个测试用例 return false,顺便说一句 Mongo 是 return 一个错误,所以我知道一个是错误的,但为什么两个都是?
describe("GET /2/test", () => {
let data = Object.create(sampleData);
data.type = "test";
it("responds with the correct document to correct input", function() {
return request(app)
.get(`/2/test`)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then(res => {
assert.deepStrictEqual(res.body.field1, data.field1);
assert.deepStrictEqual(res.body.field2, data.field2);
});
});
it("responds with something else to false input", function() {
return request(app)
.get(`/2/test`)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then(res => {
assert.notDeepStrictEqual(res.body.field1, data.field1);
assert.notDeepStrictEqual(res.body.field2, data.field2);
});
});
});
如果它们显然未定义,那么如果您 运行 遇到此错误,请确保正在比较的变量不是未定义的。它没有定义,因为我使用的是 Object.create(sampleData);
而不是 Object.assign(sampleData);