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ş:
Bir kullanma ile ilgili kurallar C tan...
AngularJS : Ne '@' Yönerge k...
Polimer elemanları ve AngularJS direkt...
Gülen yüz " nedir;:)&; CSS yani"?...
&; UYARMAK içerik-uzunluk belirlenemed...