CNode

[mocha测试问题] SuperTest+should.js如何读取数组内容?

问答
BBorntoGO发布于11 年前最后回复11 年前4 回复4616 浏览0 收藏

返回值是这样子:

{ 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)

B
BorntoGO#1·11 年前

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

I
i5ting#2·11 年前
引用 BorntoGO@dayuoba @i5ting 冒昧求教,期待解答一下.

@BorntoGO 是等于吧

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

B
BorntoGO#3·11 年前
引用 i5ting@BorntoGO 是等于吧 .below(num) and .lessThan(num) 是小于的意思,仔细看一下文档吧

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

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

B
BorntoGO#4·11 年前

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

参与回复
登录后即可参与回复。登录