【发布时间】:2017-11-22 09:10:46
【问题描述】:
我正在使用 jest 来测试一个 mongoDB ObjectID。 在函数中,我检查 id 是否有效。然后我返回 ObjectId。
在我的测试中,我希望使用 ObjectId 的valueOf() 获得一个字符串,但测试失败了:
import { ObjectId } from 'mongodb'
const safeObjectId = (id) => {
return ObjectId.isValid(id) ? new ObjectId(id) : null
}
it('should return ObjectId if it is valid', () => {
const result = safeObjectId('5a1154523a6bcc1d245e143d')
expect(typeof result).toBe('object')
expect(result.valueOf()).toEqual('5a1154523a6bcc1d245e143d')
})
但我确实得到了错误
Expected value to equal:
"5a1154523a6bcc1d245e143d"
Received:
"5a1154523a6bcc1d245e143d"
Difference:
Comparing two different types of values. Expected string but received object.
【问题讨论】:
标签: javascript mongodb unit-testing jestjs