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

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • Liberator

    Liberator

    14 EYLÜL 2007