2015-09-29 3 views
0

Я новичок в супертесте и пытаюсь выяснить простую задачу. У меня есть пост запрос я тестирую, который присваивает userkey как так:supertest - res/req не задано

app.post('/game/:username', function(req, res){ 

    var image = req.body.image; 
    var userName = req.params.username; 
    var userKey = ''; 
    if(userName === 'player1'){ 
     userKey = 'player_1_id'; 
    } else if(userName === 'player2'){ 
     userKey = 'player_2_id'; 
    } else if(userName === 'player3'){ 
     userKey = 'player_3_id'; 
    } else { 
     userKey = 'player_4_id'; 
    }} 

, когда я пытаюсь проверить это, я получаю «Рез не определен», и я не знаю, почему!

it('assigns a user key properly', function(done) { 
    request(app) 
     .post('/game/:username') 
     .send({ 
     image: "image/png", 
     username: "player1", 
     userKey: "" 
     }) 
     .expect(201) 
     .expect(res.body.should.have.property("userKey")) 

    // .expect() 


    .end(function(err, res) { 
     if (err) return done(err); 

     done(); 
    }) 

    }) 

ответ

1

Ваша ошибка потому, что вы не определяете res в ожидании.

Вы можете проверить .expect(function(res) {}) часть документа в github/supertest.

Попробуйте это:

it('assigns a user key properly', function(done) { 
 
    request(app) 
 
     .post('/game/:username') 
 
     .send({ 
 
     image: "image/png", 
 
     username: "player1", 
 
     userKey: "" 
 
     }) 
 
     .expect(201) 
 
     .expect(function(res){ 
 
     res.body.userKey!=undefined 
 
     }) 
 

 
    // .expect() 
 

 

 
    .end(function(err, res) { 
 
     if (err) return done(err); 
 

 
     done(); 
 
    }) 
 

 
    })

Смежные вопросы