[mocha测试问题] SuperTest+should.js如何读取数组内容?
发布于 9 年前 作者 BorntoGO 4036 次浏览 最后一次编辑是 8 年前 来自 问答

返回值是这样子:

{ state: 0, msg: ‘’, result: [ { imageurl: ‘http://233.jpg’, photoId: ‘233’, praised: 5 }] }

目前只能用 res.body.result.should.be.Array(); 判断它是个数组, 从result层用containDeep( )propertyByPath都不行. 再深一点想判断数组个数,或者里面的key应该怎么做呢? 另外判断个数用above.length(n)这样是不是不行?

update 用下面的写法暂时解决了.res.body.result.length.should.below(1); 问题就是,我写的时候期望 1,实际是15,但是出错时候给了相反的提示.

 Uncaught AssertionError: expected 15 to be below 1

谁有更好的办法?另外获取里面的值依然不会.


update1 取值 res.body.result[0].photoId

4 回复

@dayuoba @i5ting 冒昧求教,期待解答一下.

@BorntoGO 是等于吧

.below(num) and .lessThan(num) 是小于的意思,仔细看一下文档吧

@i5ting 故意让它出错的,我测试用的数组长度是15,这里没全写,我的意思是正常返回的错误应该是expected below1 吧,我上面那样的写法是不是不正确?

另外求问怎么能取到数组中的imageurlpraised?

@i5ting 谢谢,取值会了, js语法跟其他语言也差不多嘛~

回到顶部