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

  • finalcall07

    finalcall07

    11 NİSAN 2008
  • kev5124

    kev5124

    9 Kasım 2008
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009