【发布时间】:2020-07-22 08:11:24
【问题描述】:
所以,我是 php 新手,在测试一些服务时,我有一个 JSON 对象:
{
"entry": [
{
"authorId": "@me",
"type": "USER"
},
{
"authorId": "514",
"type": "USER"
},
{
"authorId": "516",
"type": "USER"
}
],
"count": 3,
"totalResults": 3
}
我需要断言“@me”是这个对象的一部分。我试过类似的东西:
$Obj->assertTrue(array_key_exists('@me', $response['entry']));
但它不会只是工作。有人可以给我一个提示吗?谢谢
编辑: '@me' 可以在数组中的任何位置,而不是在第一个位置,我要求这个在 codecept 中进行测试,所以我需要直接断言
【问题讨论】:
-
'authoriId' 是该值的数组键。尝试用
in_array替换 array_key_exists 来检查值。 -
@Gavin 请不要将解决方案建议为 cmets。 meta.stackexchange.com/a/296481/352329
-
@Andrei 现在此页面已关闭,我只能作为 cmets 提供建议。如果您想要一些可以巧妙地放入
assertTrue()调用的内容,那么这里有几个选项:3v4l.org/SNlll -
@Andrei,因为您只收到了不正确的答案,虽然您的问题没有被赞成的答案,但您可以自行删除您的问题(无论如何它可能会被删除)。
标签: php json testing codeception