Tôi mới dùng AngularJ và gặp sự cố khi thử kiểm tra chỉ thị với sự phụ thuộc (mặc dù chỉ thị chính nó hoạt động như mong đợi). Tôi không thể tìm thấy bất kỳ câu trả lời nào ở đây hoặc trên các tài nguyên khác.Kiểm tra angularjs chỉ thị với các phụ thuộc
Đây là mã của tôi:
Chỉ thị:
angular.module('MyApp')
.directive('appVersion', ['config', function (config) {
return function (scope, elm) {
elm.text(config.version);
};
}]);
Dịch vụ (giá trị):
angular.module('MyApp')
.value('config', {
version: '0.1'
});
Test:
describe('Directive: AppVersion', function() {
beforeEach(module('MyApp'));
var element;
it('should have element text set to config value', inject(function ($rootScope, $compile, config) {
var scope = $rootScope;
element = $compile('<app-version></app-version>')(scope);
expect(element.text()).toBe(config.version);
}));
});
thử nghiệm của tôi là thất bại với thông điệp:
Error: Expected '' to be '0.1'.
có nghĩa là giá trị cấu hình đã được tiêm đúng cách, nhưng $ complile không sử dụng. Tôi thực sự đánh giá cao sự giúp đỡ về điều này. Cảm ơn.
tôi đã cố gắng đó cũng như kêu gọi 'phạm vi $ digest() 'trực tiếp, nhưng không có bất kỳ kết quả - Tôi nghĩ vì chỉ thị không thực sự sử dụng phạm vi. – Tiger
Xem câu trả lời đã chỉnh sửa –
Cảm ơn bạn, nó hoạt động ngay bây giờ! Tuy nhiên, thật lạ khi nó hoạt động tốt bên ngoài thử nghiệm cả hai như là phần tử và thuộc tính. – Tiger