• {{note}}

위의 마크에 표시된대로, 우리의 각도 모듈은 todoapp이고 컨트롤러는 Todocontroller입니다. 입력 텍스트는 노트 모델에 바인딩됩니다. 추가 된 모든 메모 목록도 있습니다. 또한 버튼을 클릭하면 TodoconTroller의 CreateNote () 함수가 실행됩니다. 이제 포함 된 app.js 파일을 열고 모듈 및 컨트롤러를 만들어 봅시다. App.js에 다음 코드를 추가하십시오.

var todoApp = angular.module(\\'todoApp\\',[]);todoApp.controller(\\'TodoController\\', function($scope, notesFactory) {  $scope.notes = notesFactory.get();  $scope.createNote = function() {    notesFactory.put($scope.note);    $scope.note = \\'\\';    $scope.notes = notesFactory.get();  }});todoApp.factory(\\'notesFactory\\', function() {  return {    put: function(note) {      localStorage.setItem(\\'todo\\'   (Object.keys(localStorage).length   1), note);    },    get: function() {      var notes = [];      var keys = Object.keys(localStorage);      for(var i = 0; i < keys.length; i  ) {        notes.push(localStorage.getItem(keys[i]));      }      return notes;    }  };});

TodoconTroller는 NotesFactory라는 공장을 사용하여 메모를 저장하고 검색합니다. CreateNote () 함수가 실행되면 공장을 사용하여 노트를 LocalStorage에 넣은 다음 노트 모델을 지 웁니다. 따라서 TodoconTroller에서 단위 테스트를하는 경우 컨트롤러가 초기화되면 범위에 특정 수의 메모가 포함되어 있는지 확인해야합니다. 스코어링 된 CreateNote () 함수를 실행 한 후 메모 수는 이전 번호보다 하나 더 있어야합니다. 단위 테스트 코드는 다음과 같습니다.

... (후속 컨텐츠는 입력 텍스트와 유사합니다. 공간 제한으로 인해 나머지 코드와 설명 부분은 여기에서 생략됩니다. 이것은 입력 텍스트의 재 작성, 원래 의미를 유지하는 것입니다.","image":"http://www.luping.net/uploads/20250313/174183157467d23d967e661.jpg174183157467d23d967e668.jpg","datePublished":"2025-03-13T13:35:43+08:00","dateModified":"2025-03-13T13:35:43+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}

"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 단위 및 끝에서 종료 AngularJS 테스트 : SitePoint 상세한 설명

단위 및 끝에서 종료 AngularJS 테스트 : SitePoint 상세한 설명

2025-03-13에 게시되었습니다
검색:339

Unit and End to End Testing in AngularJS - SitePoint

키 포인트

  • AngularJS의 단위 테스트 및 엔드 투 엔드 (E2E) 테스트에 Jasmine 및 Karma를 사용하여 코드 신뢰성을 보장하고 개발 초기에 오류를 감지합니다.
  • 독립적 인 코드 스 니펫을 확인하기 위해 컨트롤러, 지침, 필터 및 공장과 같은 AngularJS 구성 요소에 대한 단위 테스트 작성.
  • E2E (End-to-End) 테스트를 구현하여 실제 시나리오에서 예상대로 작동하도록 AngularJS 응용 프로그램의 구성 요소 통합을 확인합니다.
  • 단위 테스트에서 모의와 스파이를 사용하여 기능적 및 분리 테스트 환경을 시뮬레이션합니다.이 테스트 환경은 특히 현지 스토리지와 같은 외부 자원과 상호 작용하는 서비스 및 공장에 특히 유용합니다.
  • AngularJS 내장 테스트 지원 및 자동 대기 및 Angular 응용 프로그램에 대한 특정 로케이터 정책과 같은 기능을 포함하여 각각의 E2E 테스트가 향상되었습니다.

단위 테스트는 개발자가 독립적 인 코드 스 니펫을 확인하는 데 도움이되는 기술입니다. 엔드 투 엔드 (E2E) 테스트는 통합 된 후 예상대로 일련의 구성 요소가 작동하는지 확인하는 데 사용됩니다. AngularJS는 단위 테스트 및 E2E 테스트를 완전히 지원하는 최신 JavaScript MVC 프레임 워크입니다. 각도 응용 프로그램을 개발하는 동안 테스트를 작성하면 많은 시간을 절약 할 수 있습니다. 그렇지 않으면 예기치 않은 오류를 고치는 데 낭비됩니다. 이 튜토리얼은 각도 응용 프로그램에 단위 테스트 및 E2E 테스트를 포함하는 방법을 설명합니다. 이 튜토리얼은 AngularJS 개발에 익숙하다고 가정합니다. 또한 각도 응용 프로그램을 구성하는 다양한 구성 요소에 익숙해야합니다. 우리는 재스민을 테스트 프레임 워크로, 카르마를 테스트 러너로 사용할 것입니다. Yeoman을 사용하여 쉽게 프로젝트를 구축하거나 Github에서 직접 Angular Seed 응용 프로그램을 얻을 수 있습니다. 테스트 환경이없는 경우 다음 단계를 따르십시오. 1. Node.js를 다운로드하여 설치하십시오 (아직없는 경우). 2. NPM (NPM Install -G Karma)을 사용하여 카르마를 설치하십시오. 3. github 에서이 자습서의 데모 응용 프로그램을 다운로드하고 압축을 풀습니다.

압축 된 응용 프로그램에서 테스트/단위 및 테스트/E2E 디렉토리에서 테스트를 찾을 수 있습니다. 단위 테스트 결과를 보려면 스크립트/test.bat를 실행하면 Karma 서버를 시작합니다. 우리의 주요 html 파일은 app/notes.html이며 http : //localhost/angular-seed/app/notes.html 를 통해 액세스 할 수 있습니다.

단위 테스트 초보자

]

단위 테스트가 작성되는 방식을 보지 않고 간단한 각도 응용 프로그램을 구축하고 단위 테스트가 개발 프로세스에 어떻게 적합한 지 확인하십시오. 응용 프로그램부터 시작하여 동시에 개별 구성 요소에 단위 테스트를 적용하겠습니다. 이 섹션에서는 단위 테스트를 수행하는 방법을 배웁니다. - 컨트롤러 - 지침 - 필터 - 공장

우리는 매우 간단한해야 할 일 노트 응용 프로그램을 구축 할 것입니다. 우리의 태그에는 사용자가 간단한 메모를 작성할 수있는 텍스트 필드가 포함됩니다. 버튼을 누르면 메모 목록에 메모가 추가됩니다. 우리는 HTML5 로컬 스토리지를 사용하여 메모를 저장합니다. 초기 HTML 태그는 다음과 같습니다. 부트 스트랩은 레이아웃을 신속하게 구축하는 데 사용됩니다.




    
    
    
    
    
    
    Angular Todo Note App


    
  • {{note}}

위의 마크에 표시된대로, 우리의 각도 모듈은 todoapp이고 컨트롤러는 Todocontroller입니다. 입력 텍스트는 노트 모델에 바인딩됩니다. 추가 된 모든 메모 목록도 있습니다. 또한 버튼을 클릭하면 TodoconTroller의 CreateNote () 함수가 실행됩니다. 이제 포함 된 app.js 파일을 열고 모듈 및 컨트롤러를 만들어 봅시다. App.js에 다음 코드를 추가하십시오.

var todoApp = angular.module('todoApp',[]);

todoApp.controller('TodoController', function($scope, notesFactory) {
  $scope.notes = notesFactory.get();
  $scope.createNote = function() {
    notesFactory.put($scope.note);
    $scope.note = '';
    $scope.notes = notesFactory.get();
  }
});

todoApp.factory('notesFactory', function() {
  return {
    put: function(note) {
      localStorage.setItem('todo'   (Object.keys(localStorage).length   1), note);
    },
    get: function() {
      var notes = [];
      var keys = Object.keys(localStorage);

      for(var i = 0; i 

TodoconTroller는 NotesFactory라는 공장을 사용하여 메모를 저장하고 검색합니다. CreateNote () 함수가 실행되면 공장을 사용하여 노트를 LocalStorage에 넣은 다음 노트 모델을 지 웁니다. 따라서 TodoconTroller에서 단위 테스트를하는 경우 컨트롤러가 초기화되면 범위에 특정 수의 메모가 포함되어 있는지 확인해야합니다. 스코어링 된 CreateNote () 함수를 실행 한 후 메모 수는 이전 번호보다 하나 더 있어야합니다. 단위 테스트 코드는 다음과 같습니다.

... (후속 컨텐츠는 입력 텍스트와 유사합니다. 공간 제한으로 인해 나머지 코드와 설명 부분은 여기에서 생략됩니다. 이것은 입력 텍스트의 재 작성, 원래 의미를 유지하는 것입니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3