developer tip

AngularJS 테스트에서 _servicename_의 밑줄은 무엇을 의미합니까?

optionbox 2020. 10. 17. 10:25
반응형

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시험에 사용은 우리에게 우리가 원하는 모듈을 제공하기 위해 밑줄을 제거 할 수 있습니다. 그것은하지 않습니다 어떻게 우리가 같은 이름을 다시 사용할 수 있도록 제외하고 아무것도.

Angular 문서에서 더 읽어보기

참고 URL : https://stackoverflow.com/questions/15318096/what-does-the-underscores-in-servicename-mean-in-angularjs-tests

반응형