Перейти к содержимому

Практикум по тест-дизайну 2.0
онлайн, начало 20 cентября
Тестирование юзабилити (usability)
онлайн, начало 18 сентября
Школа для начинающих тестировщиков
онлайн, начало 19 сентября
Тестирование REST API
онлайн, начало 23 сентября
Фотография

Кто знает причины неоднозначного поведения try-catch?

javascript try-catch units

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 aksas

aksas

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 17 Июнь 2014 - 10:41

Тема try-catch поднималась неоднократо, в хелпе тесткомплита про ограничения try-catch тоже написано, но я столкнулся с поведением, которое поставило меня в тупик.
Итак, есть модуль 1

function factory(callback){
 return {
          run:function(v){
		try{
			callback.call(v);
		}catch(e){						
                        Log.Message("in factory");
		}
	  }
  }
}

а в модуле 2

function test(){
 var o = factory(function(){this.someMethod();});
 o.run({});
}

Если запустить тест в таком виде, то try-catch в модуле 1 не отработает и тесткомплит ругнется "Microsoft JScript runtime error. Object doesn't support this property or method"
Но стоит сделать вот так

function test(){
 var o = factory(function(){this.someMethod();});
 try{
    o.run({});
 }catch(e){
    Log.Message("in test");
 }
}

и все отработает нормально, а в логе будет одна запись: "in factory".
Т.е. try-catch в тесте никаких ошибок не ловит и при этом каким-то магичиским образом влияет на работу try-catch в другом модуле.
 
Если честно, то я в растерянности. Может кто нибудь встречал/знает объяснение такого поведения? (testcomplete 9.3)


  • 0

#2 aksas

aksas

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 23 Июнь 2014 - 11:03

Неужели ни у кого нет никаких предположений?


  • 0


Организация автоматизированного тестирования
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн
Школа Тест-Аналитика
онлайн




Темы с аналогичным тегами javascript, try-catch, units

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале