2014-11-17 3 views
5

Я использовал jasmine 1.2.0, и он отлично работал. Теперь я использую тот же код, все тот же, что и было, единственное различие заключается в том, что я перешел на jasmine 2.0.1, и теперь его не работает ... все тесты не работают, а ошибка, которую я получаю, это: «Uncaught TypeError: Невозможно прочитать свойство env undefined.Uncaught TypeError: Не могу прочитать свойство env не определено

Вот файл SpecRunner.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Jasmine Spec Runner</title> 

<link rel="stylesheet" href="../app/bower_components/bootstrap/dist/css/bootstrap.css"/> 
<link rel="stylesheet" href="../app/bower_components/font-awsome/css/font-awesome.css"/> 
<link rel="stylesheet" href="../app/bower_components/datetimepicker/jquery.datetimepicker.css"/> 
<link rel="stylesheet" href="../app/css/style.css"/> 
<link rel="stylesheet" href="../app/bower_components/bootstrap-multiselect/dist/css/bootstrap-multiselect.css"/> 
<link rel="stylesheet" href="../app/bower_components/bootstrap-select/dist/css/bootstrap-select.css"/> 
<script type="text/javascript" src="../app/bower_components/jquery/dist/jquery.js"></script> 
<script type="text/javascript" src="../app/bower_components/underscore/underscore.js"></script> 
<script type="text/javascript" src="../app/bower_components/backbone/backbone.js"></script> 
<script type="text/javascript" src="../app/bower_components/bootstrap/dist/js/bootstrap.js"></script> 
<script type="text/javascript" src="../app/bower_components/moment/moment.js"></script> 
<script type="text/javascript" src="../app/bower_components/handlebars/handlebars.js"></script> 
<script type="text/javascript" src="../app/bower_components/datetimepicker/jquery.datetimepicker.js"></script> 
<script type="text/javascript" src="../app/bower_components/backbone-tastypie/backbone_tastypie/static/js/backbone-tastypie.js"></script> 
<script type="text/javascript" src="../app/bower_components/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"></script> 
<script type="text/javascript" src="../app/bower_components/bootstrap-select/dist/js/bootstrap-select.js"></script> 
<script type="text/javascript" src="../app/bower_components/backbone.localstorage/backbone.localStorage.js"></script> 

<link rel="shortcut icon" type="image/png" href="jasmine-2.0.1/jasmine_favicon.png"> 
<link rel="stylesheet" type="text/css" href="jasmine-2.0.1/jasmine.css"> 
<script type="text/javascript" src="jasmine-2.0.1/jasmine.js"></script> 
<script type="text/javascript" src="jasmine-2.0.1/jasmine-html.js"></script> 
<script type="text/javascript" src="jasmine-2.0.1/boot.js"></script> 
<script type="text/javascript" src="sinon.js"></script> 


. 
. 
. 


<!-- include spec files here... --> 
. 
. 
. 

<script type="text/javascript"> 
    (function() { 
     var jasmineEnv = jasmine.getEnv(); 
     jasmineEnv.updateInterval = 1000; 

     var htmlReporter = new jasmine.HtmlReporter(); 
     var oldResult = htmlReporter.reportRunnerResults; 

     jasmineEnv.addReporter(htmlReporter); 

     /* this is just for our automated tests */ 
     window.jasmine_phantom_reporter = new jasmine.ConsoleReporter; 

     jasmineEnv.addReporter(jasmine_phantom_reporter); 
     /* */ 

     jasmineEnv.specFilter = function (spec) { 
      return htmlReporter.specFilter(spec); 
     }; 

     var currentWindowOnload = window.onload; 
     window.onload = function() { 
      if (currentWindowOnload) { 
       currentWindowOnload(); 
      } 
      execJasmine(); 


     }; 

     function execJasmine() { 
      jasmineEnv.execute(); 
     } 

    })(); 
</script> 

</head> 

<body> 


</body> 
</html> 

Может кто-нибудь сказать мне, что случилось ??? Tnxs :) ...

+0

Вы должны добавить код базового теста, для которого он терпит неудачу, и только необходимые зависимости для теста терпят неудачу, а не все из них без версии –

ответ

1

Я бы удостоверился, что включенный вами sinon.js будет поддерживать jasmine 2.0, так как произошли значительные изменения в том, как жасмин работает с выпуском 2.0. Кроме того, проверьте upgrade guide, чтобы помочь с преобразованием существующих спецификаций для работы с 2.0.

В другом примечании, начиная с версии 2.0, файл boot.js должен выполнять всю работу, имеющуюся в вашем встроенном блоке сценария, поэтому это уже не нужно.

0

Версия 2 жасмина, как представляется, использует файл boot.js для загрузки настроек и запуска жасмина. У вас также есть эта настройка, указанная в вашем встроенном скрипте. Попробуйте удалить встроенный скрипт и разрешить загрузку жасмина через входящий в комплект boot.js.

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