У меня есть простой угловой сервис:Модульного тестирования Как получить доступ свойства объекта
app.service('myService', function() {
this.getMsg = function (status, data) {
var errMsg = '';
if (status.toString()[0] == 4) {
if ((data.message.indexOf("3 tries left") > -1) || (data.message.indexOf("2 tries left")) > -1){
errMsg = "Opps, try later";
}
else {
errMsg = "Please try again.";
}
}
if (status.toString()[0] == 5) {
errMsg = "Under Construction";
}
return errMsg;
};
});
И я написал тест, который обеспечивает мою getMsg
функции существует, однако, когда я пытаюсь проверить функцию, я получаю сообщение об ошибке :
TypeError: data.message is undefined
Тест:
describe('myService', function(){
var myService;
beforeEach(function(){
module('myApp');
inject(function(_myService_) {
myService = _myService_;
});
});
it('should have an getMsg function', function() {
expect(angular.isFunction(myService.getMsg)).toBe(true);
});
it('test fucntion', function(){
var result = myService.getMsg(400, "some text to test");
expect(result).toBe('bar!!!');
});
});
Почему это было вниз проголосовали? Я объяснил эту проблему и предоставил код. Достаточный код есть для ответа, который будет доказан в течение пары минут, как @Tibos выделил ниже. –