2016-06-27 10 views
14

Questa potrebbe sembrare una domanda stupida, ma voglio sapere la sua risposta. Che cos'è il file spec.jsAngularJS e qual è il suo utilizzo? È utilizzato per lo scopo test?Utilizzo del file spec.js in AngularJS

EDIT- Di seguito è riportato il codice del file di telefoniche a detail.component.spec.js

'use strict'; 

describe('phoneDetail', function() { 

    // Load the module that contains the `phoneDetail` component before each test 
    beforeEach(module('phoneDetail')); 

    // Test the controller 
    describe('PhoneDetailController', function() { 
    var $httpBackend, ctrl; 
    var xyzPhoneData = { 
     name: 'phone xyz', 
     images: ['image/url1.png', 'image/url2.png'] 
    }; 

    beforeEach(inject(function($componentController, _$httpBackend_, $routeParams) { 
     $httpBackend = _$httpBackend_; 
     $httpBackend.expectGET('phones/xyz.json').respond(xyzPhoneData); 

     $routeParams.phoneId = 'xyz'; 

     ctrl = $componentController('phoneDetail'); 
    })); 

    it('should fetch the phone details', function() { 
     jasmine.addCustomEqualityTester(angular.equals); 

     expect(ctrl.phone).toEqual({}); 

     $httpBackend.flush(); 
     expect(ctrl.phone).toEqual(xyzPhoneData); 
    }); 

    }); 

}); 
+0

se ero a indovinare alla cieca, potrebbe essere un aiutante di test che aiuta i test eseguiti. Pubblica il codice e possiamo dirti di più. – derp

+0

@derp Sto seguendo il turorial sul sito di AngularJS [https://docs.angularjs.org/tutorial](https://docs.angularjs.org/tutorial) e sto aggiungendo il codice di uno dei file ** spec.js ** (_phone-detail.component.spec.js_) – HardikT

risposta

15

L'utilizzo di spec.js è per la scrittura di voi casi di test di unità per la vostra applicazione angolare. Scriviamo casi di test in angolare usando Jasmine & Karma.

Jasmine è un framework di testing per lo sviluppo comportamentale per JavaScript. Non si basa su browser, DOM o su qualsiasi framework JavaScript. Pertanto è adatto per siti Web, progetti Node.js o ovunque sia possibile eseguire JavaScript.

https://github.com/jasmine/jasmine

Karma è essenzialmente uno strumento che genera un server web che esegue il codice sorgente contro codice di prova per ciascuno dei browser connessi. I risultati di ciascun test su ciascun browser vengono esaminati e visualizzati tramite la riga di comando allo sviluppatore in modo che possano vedere quali browser e test hanno superato o fallito.

https://karma-runner.github.io/1.0/index.html

+1

Grazie, è utile :) – HardikT

+0

Ciò è stato utile. Sono novizio di AngularJS e devo scrivere l'applicazione AngularJS che necessita di test delle unità. Grazie – user3339691

0

Domanda - Qual è il spec.js file in AngularJS?

risposta - AngularJS utilizza Jasmine come un framework di test e le prove scritte in Jasmine sono chiamati specifiche. Filename scritti in relazione alle gelsomino deve essere .spec.ts, la convenzione estensione del file è fatto aderire alla configurazione di karma (il tester corridore).


Domanda - qual è il suo utilizzo? È usato a scopo di test?

risposta-Karma il test runner ottiene le specifiche per i test da questo file. Sì, è utilizzato per il test :)


Riferimentohttps://angular.io/guide/testing