我正在尝试在节点中的节点/推特路由测试之后进行清理,并且在我的post子句中放置我的post请求删除推文时,它不会执行,并且twitter API也不会抛出错误。 ..
我认为这可能是我传递推文ID并且没有正确使用功能范围的方式。对于那些不熟悉的人,我使用Twitter module from npm作为node.js:
describe( "The nodeshell's /tweet route", function() {
// Logic to run before each test
var tid = "";
before( function( done ) {
startServer( done );
});
// Logic to run after each test
after( function( done ) {
client.post('statuses/destroy/:id', {id: tid}, function(error, params, response){
if(error){
console.log(error);
throw error;
}
});
stopServer(done);
});
it( 'should return 200 when queried with a post request containing a valid tweet', function ( done ) {
this.timeout(7000);
var tweets = {
tweet: "test" + uuid.v4()
};
apiHelper('post', uri, 200, tweets, function(err, res, body){
expect(err).to.not.exist;
tid = body.id;
done();
});
});
});
提前感谢所有帮助。
答案 0 :(得分:0)
要使异步功能正常工作,您应该在stopServer(done);
回调中调用client.post
。因此,您的after
功能将变为:
after(function(done) {
client.post('statuses/destroy/:id', {id: tid}, function(error, params, response){
if(error){
console.log(error);
done(error);
}
stopServer(done);
});
});