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

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009