1

初学者使用 Javascript 进行测试。我正在使用 Mocha,但 Louis 明智地表示这个问题只针对 Mocha。我有一个 Node 应用程序,其中有一些页面对匿名用户可见,而有些页面如果您没有登录则不应该看到。所以,作为一个非常简单的开始,

describe('User Access', function(){
it('should allow anyone to access the help desk (about page)', function(done){
  request(host)
  .get('/')
  .expect(200, done);
}),
it('should allow anyone to access the contact page', function(done){
  request(host)
  .get('/contact')
  .expect(200, done);
}),
//initially we were expecting 404, we need anything BUT 200.
it('should NOT allow anonymous user to access the Training Material page', function(done){
  request(host)
  .get('/training')
  .expect(404, done);
}),

ETC

这最初是有效的。但是,开发人员已将不可用页​​面更改为 302 状态,并将这些页面重定向到 Web 应用程序的根目录。因此,为了让开发人员在如何实施此限制方面具有灵活性,我想将其更改为否定断言。那么,使用 Mocha 语法,我如何“期望”响应为 200 以外的任何值?

4

1 回答 1

1

这里的文档说您可以传入一个自定义断言函数,该函数给出了响应对象,从该函数返回一个值将意味着断言失败,即;

.expect(function(res){
    if(res.status == 200){
        return "we dont like 200!";
    }
})
于 2014-01-28T20:33:59.263 回答