2015-05-19 41 views
3

我正在尝试编写一些Supertest测试用例,其中用户代理标头用值,空白或根本不发送。可能在supertest测试中删除用户代理标题?

我知道我可以使用.set来处理为该标题设置一个值或''为空白,但我不知道如何完全忽略User-agent标头。如果我离开请求超级通道发送默认值node-superagent/1.2.0。如果我.set('User-agent',null)它通过线路发送'null'。

似乎没有.remove或.delete。任何人有想法?

it ('example', function(done){ 
 
    agent.post('/abc/a') 
 
    .set('User-agent', 'some agent') 
 
    .send('abc') 
 
    .expect(200) 
 
    .end(function(err, results){}) 
 
};

回答

4

的方法被称为.unset()。您可以使用如下:

it ('example', function(done){ 
    agent.post('/abc/a') 
    .unset('User-Agent') 
    .send('abc') 
    .expect(200) 
    .end(function(err, results){}) 
}; 
+0

这样做,谢谢! – EdgeCase

+0

我的荣幸! :-) – JME

+1

'unset('user-agent')'不起作用,它必须是像这样'unset'('User-Agent')的大写字母。 –