각도 응용 프로그램에 대한 단위/e2e 테스트를 설정하려고합니다. 각도기 웹 사이트 및 수많은 다른 샘플에 대한 지침에 따라 각도 오브젝트를 언급하지 않는 한 설정하고 테스트를 실행할 수 있습니다. 여기 내가에 대한 검사를 할 샘플 HTML 페이지 :각도기가 각도를 찾을 수 없습니다
<!DOCTYPE html>
<html ng-app="app">
<head>
<script type="text/javascript" src="libraries/angular.js"></script>
<script type="text/javascript" src="libraries/angular-route.js"></script>
<script type="text/javascript" src="libraries/angular-touch.js"></script>
<script type="text/javascript" src="libraries/angular-sanitize.js"></script>
<script type="text/javascript" src="libraries/angular-mocks.js"></script>
.....
</head>
<body ng-controller="DefaultController">
...
테스트 : 바로 내가 예외를 가지고 실행으로
describe('Logon page', function()
{
beforeEach(function()
{
browser.get('default.html');
angular.module("app");
});
it('should have a title', function()
{
expect(browser.getTitle()).toEqual('Logon');
});
});
: "ReferenceEror : 각도가 정의되지 않았습니다." "angular.module ("app ");"을 제거하면 - 잘 작동합니다. 각도기의 콘솔 출력을 보면 Protractor.waitForAngular()가 "각도"객체에 액세스하려고하면 내부적으로 호출 된 것처럼 보입니다. 하지만 내가 아는 한 browser.get은 전에로드해야합니까?
각도 1.3.4와 각도기 1.4.0을 사용합니다.
미리 감사드립니다.
컨트롤러/서비스/등을 테스트하고 싶습니다. 다음 기사에서와 같이 : [테스트 컨트롤러] (http://angular-tips.com/blog/2014/06/introduction-to-unit-test-controllers/). 따라서 각도 객체에 액세스해야합니다. – Amid
다음은 각도기가 필요 없습니다. 유닛 테스트는 Karma 러너와 함께 실행할 수 있습니다. 분도기는 엔드 - 투 - 엔드 테스트에 사용됩니다 (즉, 별도의 컨트롤러, 서비스 등을 테스트하기 위해 들여 쓰지 않고 일반적으로 백엔드, 데이터베이스 등으로 응용 프로그램 전체를 테스트 할 때). –
Ok. 그래서 당신을 올바르게 이해한다면 각도기는 결코 의도 된 것이 아니며 각도 라이브러리에 접근 할 수 없습니다. 그것은 최종 결과와 함께 작동합니다. 컨트롤러 테스트 등을 실행하려면 카르마 (Karma)와 함께 실행해야합니다. 그 객체를 사용할 수 있습니까? – Amid