2016-04-06 19 views
1

Şu an bu AngularJS öğreticisi (https://docs.angularjs.org/tutorial/) aracılığıyla çalışıyorum ve 'npm test' kullanarak birim sınamalarını çalıştırmaya çalışırken ilginç bir sorunla karşılaştım. Bu, öğreticinin 2. adımında açıklanmaktadır (https://docs.angularjs.org/tutorial/step_02). aşağıdaki gibiAngularJS npm testi (Karma) uzak sunucu komut satırı

Benim kurgusunda:

  • konak makinesi Windows 10
  • bir serseri çiftliğinde kutusu çalışıyor (https://laravel.com/docs/4.2/homestead)
  • kullanımı Macun mesela benim kutunun içine ssha web sitesini görüntülemek için ana makinede benim Win10 ortamında
  • kullanımı Firefox/Krom içinde kodlama yapmak UÖM'nin
  • kullanımı eşlenen/paylaşılan serseri klasörleri yüklemek için (http://192.168.10.10/angular-phonecat/app/)

Sorun: öğretici anlatılır birim testleri ve bunları 'npm test' komutuyla çalıştırmayı söylüyor. Bu, Chrome veya Firefx tarayıcısının açılmasını tetikleyecek ve ardından testleri gerçekleştirecektir. Çok uzak çok iyi. Ancak, Putty ssh kabuğumda 'npm test' komutunu çalıştırdığımda, açılabilecek bir Chrome veya FF tarayıcı penceresi yoktur. Bu bu mesajların bildirilen sorunların türleri gibi aynı olmadığını

[email protected]:~/Code/angular-phonecat$ npm test 

> [email protected] pretest /home/vagrant/Code/angular-phonecat 
> npm install 

npm WARN install:[email protected] EPROTO: protocol error, symlink '../nopt/bin/nopt.js' -> '/home/vagrant/Code/angular-phonecat/node_modules/.bin/nopt' 

> [email protected] postinstall /home/vagrant/Code/angular-phonecat 
> bower install 


> [email protected] test /home/vagrant/Code/angular-phonecat 
> node node_modules/karma/bin/karma start test/karma.conf.js 

INFO [karma]: Karma v0.12.37 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser Chrome 
ERROR [launcher]: No binary for Chrome browser on your platform. 
    Please, set "CHROME_BIN" env variable. 
INFO [launcher]: Starting browser Firefox 
ERROR [launcher]: Cannot start Firefox 

INFO [launcher]: Trying to start Firefox again (1/2). 
ERROR [launcher]: Cannot start Firefox 

INFO [launcher]: Trying to start Firefox again (2/2). 
ERROR [launcher]: Cannot start Firefox 

ERROR [launcher]: Firefox failed 2 times (cannot start). Giving up. 

Not: Bu nedenle, bu hatayı alıyorum

Setting environment variable for CHROME_BIN does not work

How to fix error "Please set env variable CHROME_BIN" when running Angular.js with grunt

Bu yayınlar (ve orada diğerleri olabilir) npm test aracının (Karma?), Chrome ve FF'nin kurulu olduğu Windows makinesinde kullanıldığını varsayalım. Ama uzaktan FF yüklü olan bir Ubuntu makineye ve FIREFOX_BIN ortam değişkenine doğru şekilde ayarlanmış (/ usr/bin/firefox), ancak görsel bir pencereyi açamıyorum çünkü bir commnd hat kabuğuna baktığım için oturum açıyorum.

Öyleyse, sorum şu: Yukarıda açıklanan kurulumu kullanarak birim testlerimi çalıştırmak için npm testini (veya Karma) nasıl kullanabilirim?

Maalesef sorumu nasıl sorabileceğimi veya sorunu bundan daha iyi anlatacağımı bilmiyorum, bu nedenle bana yardımcı olacak başka bir ayrıntıya ihtiyacınız varsa lütfen bize bildirin.

Teşekkür AHL

cevap

3

yerine Krom/Firefox üzerinde testler çalışan, PhantomJS, başsız tarayıcılar karşı onları çalıştırın. Gelen

npm install --save-dev phantomjs-prebuilt karma-phantomjs-launcher 

senin karma.conf.js:

eklentileri
  • , karma-phantomjs-launcher
  • yerine browsers: ['Chrome']
browsers: ['PhantomJS'] set eklemek

Ayrıca hangi (PhantomJS bazı polyfills eklemek zorunda kalacak Bunun için bind işlevinden yoksun), şu şekilde kullanın: https://www.npmjs.com/package/phantomjs-polyfill (nasıl kullanılacağı açıklanır) karma ile)