반응형
AngularJS 테스트에서 _servicename_의 밑줄은 무엇을 의미합니까?
다음 예제 테스트에서 원래 공급자 이름은 APIEndpointProvider이지만 주입 및 서비스 인스턴스화의 경우 규칙에 따라 밑줄을 래핑하여 주입해야하는 것 같습니다. 왜 그런 겁니까?
'use strict';
describe('Provider: APIEndpointProvider', function () {
beforeEach(module('myApp.providers'));
var APIEndpointProvider;
beforeEach(inject(function(_APIEndpointProvider_) {
APIEndpointProvider = _APIEndpointProvider_;
}));
it('should do something', function () {
expect(!!APIEndpointProvider).toBe(true);
});
});
더 나은 설명이 누락 된 규칙은 무엇입니까?
밑줄은 서비스와 동일한 이름의 로컬 변수를 로컬로 할당 할 수 있도록 다른 이름으로 서비스를 삽입하는 데 사용할 수있는 편리한 트릭입니다.
즉,이 작업을 수행 할 수 없다면 서비스에 대해 다른 이름을 로컬로 사용해야합니다.
beforeEach(inject(function(APIEndpointProvider) {
AEP = APIEndpointProvider; // <-- we can't use the same name!
}));
it('should do something', function () {
expect(!!AEP).toBe(true); // <-- this is more confusing
});
$injector
시험에 사용은 우리에게 우리가 원하는 모듈을 제공하기 위해 밑줄을 제거 할 수 있습니다. 그것은하지 않습니다 어떻게 우리가 같은 이름을 다시 사용할 수 있도록 제외하고 아무것도.
반응형
'developer tip' 카테고리의 다른 글
파일 트리 다이어그램을 그리는 데 사용할 도구 (0) | 2020.10.17 |
---|---|
NUnit 테스트를 병렬로 실행하려면 어떻게해야합니까? (0) | 2020.10.17 |
Go 빌드 빌드는 무엇입니까? (0) | 2020.10.17 |
WPF 바인딩에서 "{Binding Path =.}"는 무엇을 의미합니까? (0) | 2020.10.17 |
jQuery 플러그인을 확장하는 가장 좋은 방법 (0) | 2020.10.17 |