2017-02-22 50 views
0

У меня есть следующий код машинописьжасмин шпионить тогда запрос библиотеки

LoadClientConfigs(): Promise<ClientConfig> { 
    return new Promise((resolve, reject) => { 
     try { 
      request('GET', 'config/clients.json').done(function (res: any) { 

       if (res.statusCode >= 300) { 
        reject(res); 
       } 

       const clientConfigs: ClientConfig = JSON.parse(res.getBody()); 
       resolve(clientConfigs); 
      }); 
     } 
     catch (e) { 
      reject(e); 
     } 

    }); 
} 

Сейчас я пишу тесты Жасмин и мне нужно дразнить запрос метод. Запрос от НПМ пакета тогдашним запроса и импортировать его следующим образом

const request = require('then-request'); 

Как я дразнить запрос метод возвращает определенный набор данных при вызове. До сих пор это то, что у меня есть

описывают ('Client Config',() => { это ('Если загрузить правильный конфиг для данного клиента',() => {

 createSpy("request").and.callFake(() => { 
      console.log('requesting'); 
     }); 

     ConfigService.LoadClientConfigs(); 
    }) 
}) 

Однако фальшивый метод не дозвонились.

ответ

0

Если изменить

const request = require('then-request'); 

в

var request = require('then-request'); 

, то вы можете дразнить запрос функции как этот

request = jasmine.createSpy().and.callFake(() => { 
      console.log('requesting'); 
      }); 

ConfigService.LoadClientConfigs(); 

Я не исполнил этот ответ на моем компьютере, но он должен работать.