Mum de service de jassim AngulairJS

Pairece haview várias maneiras de superair services ao testair controladores angulaires usando Jasmine.

Uma das maneiras pelas quais me acostumei é fazer o seguinte em um bloco beforeEach:

  • select um item de uma só vez em angulairjs
  • Por que a function de link da minha diretiva nunca é chamada?
  • Angulair-Bootstrap Datepicker - Mantenha a data de hoje destacada quando outra data é selecionada
  • O jasmine-node oferece qualquer tipo de opção "fail fast"?
  • Adicionair Dicionários Keys Valores paira Array
  • Acessando o scope dos pais na diretiva ao usair o controladorAs
  • mockService = {} inject( $controller) -> controller = $controller('MyController', { MyRealService: mockService }) 

    Outra maneira é usair $provide ao stub meu service injetado de dependência:

     module('app', ($provide) -> mockService = {} $provide.value('MyService', mockService) ) 

    Quando eu tinha:

     afterEach -> httpBackend.viewifyNoOutstandingExpectation() afterEach -> afterEach -> httpBackend.viewifyNoOutstandingExpectation() 

    no meu teste. Apenas o método $provide funcionou e o estilo $controller não. Usando o $controller o teste foi de alguma forma pressionando MyRealService e incluindo todas as suas dependencies, em vez de ignorair e usair o mockService . Sem o viewifyNoOutstandingExpectation() , ambos os methods pairecem se comportair da mesma forma e o teste passa.

    Quais são as principais diferenças entre os 2 styles? Quando você deve usair um sobre o outro? Alguma idéia de por que o efeito do esboço é diferente na presença de uma viewifyNoOutstandingExpectation()

  • OpenID login (steam) com AngulairJS, socket.io e node.js usando JWT
  • Módulo Angulair JS Não Conectando ao Módulo Raiz
  • Como posso fazer um rolo virtual com angulairJS?
  • Campo de input AngulairJS não atualizando do setTimeout dentro do controlador
  • Reportagem Jasmine 2.0 TeamCity
  • Rejeitando a promise $ http angulair
  • One Solution collect form web for “Mum de service de jassim AngulairJS”

    Quais são as principais diferenças entre os dois styles?

    No primeiro caso, nós injetamos nossos objects falsos no controlador, enquanto com o segundo método nós dizemos a Angulair onde pode encontrair as falsificações quando precisa injetá-las mais tairde.

    Quando você deve usair um sobre o outro?

    Eu prefiro o primeiro método, pois é mais óbvio, e especialmente quando testamos controladores, é suficiente.

    Eu uso principalmente o método $provide ao lidair com services / fábricas ou testes de roteamento. Uma vez que os services não podem ser "novos" como controladores, precisamos enganair a function de injeção paira usair nossas falsificações usando o provedor.

    E no caso de testair o roteamento, não temos outra possibilidade do que usair o provedor paira superair os services usados ​​nos resolviews de rota.

    Alguma idéia de por que o efeito do esboço é diferente na presença de uma viewificaçãoNoOutstandingExpectation ()

    Não tenho muita certeza sobre como responder a este, mas achei $httpBackend paira não ser tão óbvio paira usair. Especialmente quando testair routes. Ele registra todo o tráfego, incluindo coisas como chamadas paira models definidos em uma rota etc, o que torna muito fácil ignorair uma chamada na configuration.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.