O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Automação de Testes com AngularJS

4.427 visualizações

Publicada em

Aprenda a automatizar testes com AngularJS

Publicada em: Internet
  • Seja o primeiro a comentar

Automação de Testes com AngularJS

  1. 1. Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br Automação de Testes com AngularJS
  2. 2. “Transformar equipes de desenvolvimento de software” http://www.agilecode.com.br
  3. 3. Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • Desenvolvendo Software na Gennera • Criando treinamentos na Agile Code • Escrevendo na Java Magazine e PacktPub • Palestrando sobre desenvolvimento de software em eventos, universidades e empresas
  4. 4. Formação Acadêmica Ciências da Computação – UFSC Gerenciamento de Projetos - FGV Certificações SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM Experiência Há mais de 12 anos desenvolvendo software na plataforma Java com as empresas: EDS, HP, NET, Citibank, GM, Dígitro, Softplan, OnCast, Senai, VALE, RBS, Unimed, Globalcode, V.Office, Suntech, WPlex e Gennera.
  5. 5. • Há mais de 5 anos liderando pessoas. • Mais de 2000 horas em sala de aula. • Mais de 100 apresentações em eventos. • 6 artigos escritos para revistas. • 1 livro. • Mais de 500 profissionais treinados. • Criação de 22 palestras. • Criação de 10 treinamentos. • Criação de mais de 3.000 slides.
  6. 6. controller
  7. 7. 1. angular.module("contatos").controller("contatosCtrl", function ($scope) { 2. $scope.appName = "Contatos"; 3. });
  8. 8. 1. describe("Contatos Controller Specification", function () { 2. var $scope; 3. 4. beforeEach(module("contatos")); 5. 6. beforeEach(inject(function ($controller, $rootScope) { 7. $scope = $rootScope.$new(); 8. $controller("contatosCtrl", { 9. $scope: $scope 10. }); 11. })); 12. it("O nome da aplicação deve ser contatos", function () { 13. var expectedAppTitle = "Contatos"; 14. expect($scope.appTitle).toBe(expectedAppTitle); 15. }); 16. });
  9. 9. filter
  10. 10. 1. angular.module("contatos").filter("telefone", function () { 2. return function (input, separator) { 3. return input.substring(0, 4) + separator + input.substring(4); 4. }; 5. });
  11. 11. 1. describe("Telefone Filter Specification", function () { 2. var telefoneFilter; 3. 4. beforeEach(module("contatos")); 5. 6. beforeEach(inject(function (_telefoneFilter_) { 7. telefoneFilter = _telefoneFilter_; 8. })); 9. 10. it("Deve formatar o telefone", function () { 11. var telefone= "99999999" 12. var expectedTelefone = "9999-9999"; 13. expect(telefoneFilter(telefone, "-")).toBe(expectedTelefone); 14. }); 15. });
  12. 12. service
  13. 13. 1. angular.module("contatos").factory("contatosService", function () { 2. return { 3. calcularImposto: function (valor) { 4. return valor*0.10; 5. } 6. }; 7. });
  14. 14. 1. describe("Contatos Service Specification", function () { 2. var contatosService; 3. beforeEach(module("contatos")); 4. 5. beforeEach(inject(function (_contatosService_) { 6. contatosService = _contatosService_; 7. })); 8. it("Deve calcular o imposto da chamada", function () { 9. var expectedImposto = 10; 10. expected(contatosService.calcularImposto(100)).toBe(10); 11. }); 12. });
  15. 15. directive
  16. 16. 1. angular.module("contatos").directive("alert", function () { 2. return { 3. template: "<div><div>{{topic}}</div><div ng-transclude></ div></div>", 4. restrict: "E", 5. scope: { 6. topic: "@" 7. }, 8. transclude: true 9. }; 10. });
  17. 17. 1. describe("Alert Directive Specification", function () { 2. var element, scope; 3. beforeEach(module('contatos')); 4. 5. beforeEach(inject(function ($rootScope, $compile) { 6. scope = $rootScope; 7. element = angular.element( 8. "<alert topic='Something went wrong!'>" + 9. "Please inform the plate and the color of the car" + 10. "</alert>" 11. ); 12. var linkFunction = $compile(element); 13. linkFunction(scope); 14. scope.$digest(); 15. })); 16. 17. it("Should compile the alert directive", function () { 18. var expectedElement = "<div>...</div>"; 19. expect(element.html()).toBe(expectedElement); 20. }); 21. });

×