我正在针对我的db
和graphql
服务器编写集成测试
jest
是我的测试运行器和断言库。
对于每个测试,我都验证我没有任何错误:
const actual = await graphql(schema, query);
expect(actual.errors).toBeUndefined();
当我的测试失败时(沿途出现问题),
actual.errors
不是undefined
,我希望jest
显示错误,
但这就是我得到的:
Expected value to be undefined, instead received
[[GraphQLError: Invalid value [object Object]]]
如果我看不出“无效值”是什么,则此错误消息无效
如何配置jest
以便它将打印错误对象?
答案 0 :(得分:0)
这与jest
无关。[object Object]
由object.toString()
返回,由错误日志的打印机调用。
如果您想查看object
的详细信息,则需要重写 toString
的{{1}}
它类似于以下代码:
object
答案 1 :(得分:0)
当您要传递对象时,错误消息是GraphQLError: Invalid value [object Object]
您可能正在传递字符串[object Object]
。或者您的架构有一个字符串,您认为它有一个对象,或者您应该在传递字符串时传递一个对象。没有您的架构,查询或根源,我只是在猜测。
graphql对象有一些不会自动记录的属性。但它们确实有助于调试吨。我最喜欢error.path
和error.stack
。您可以在error object source。