我正在使用 frisby
v0.8.5和 jasimine-node
. 使用 frisby
,以下内容断言预期返回http状态代码:
f = frisby.create(/*stuff....*/);
...
...
f.expectStatus(200);
f.toss();
如果 endpoints 具有单个预期状态,则此方法可以正常工作,但在某些情况下(如POST endpoints ),如果资源已存在,则可能会返回 201
for created或 200
.
有什么方法可以检查几个可接受的响应状态代码吗?
2 回答
好的,使用
after()
和本机茉莉花匹配功能找到了一种简单的方法 .一般的想法是,由于Frisby是异步的,你需要在被抛出并被捕获后检查结果 . 在原始结果中,您可以针对正则表达式手动验证状态代码,在本例中为200或201:
您可以通过创建本地文件
xyz.coffee
为Firsby lib
添加额外的方法,您可以在那里提供xyz = require "./xyz"
:最终你总是可以将上面的粘贴复制到你的
spec.coffee
文件毕竟,只需在脚本中使用:它完美地完成了这项工作 .