SORU
10 Mart 2013, Pazar


Bu AngularJS testlerde _servicename_ yani alt çizgi nedir?

Aşağıdaki örnek testte, orijinal sağlayıcı adı APİEndpointProvider, ama sözleşme gibi görünüyor enjeksiyon ve hizmet örnekleme için çizgi sarma ile enjekte edilmeli. Bu yüzden mi?

'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);
  });

});

Daha iyi bir açıklama için kaçırıyorum sözleşmesi nedir?

CEVAP
10 Mart 2013, Pazar


Yerel olarak hizmet olarak aynı adda yerel bir değişken atayabiliriz, böylece farklı bir isim altında bir servis enjekte etmek için kullanabiliriz rahatlık bir numara olduğunu vurguluyor.

Eğer bu mümkün olsaydı zaten, bir hizmet için başka bir isim yerel olarak kullanmak zorunda kalırız:

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 Test kullanılan istediğimiz modülü vermek için sadece alt çizgi kaldırmak mümkün. Değilyapınbizi aynı adı yeniden izin vermek dışında her şeyi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Phymec

    Phymec

    18 Temmuz 2009
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008