Tôi làm việc trên một Ứng dụng góc lớn và ban đầu chúng tôi thực hiện rất nhiều thử nghiệm bằng cách sử dụng $ cung cấp cho các dịch vụ giả lập. Tuy nhiên bây giờ chúng tôi có rất nhiều Jasmine Spies trong các thử nghiệm của chúng tôi để khai thác và gián điệp các dịch vụ.
tức là
spyOn(myService, 'myMethod').andReturn 'myValue'
nên chúng ta thực sự được sử dụng $ cung cấp cho điều này hay có những trường hợp gián điệp trên một dịch vụ là cách tiếp cận tốt nhất?
Trong thử nghiệm góc, họ sử dụng gián điệp cho spying on Jquery mà tôi sẽ thấy dưới dạng dịch vụ bên ngoài.
spyOn(jq.prototype, 'on');
$provide dường như được sử dụng nhiều hơn cho các dịch vụ nội bộ.
module(function($provide){
$provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
});
Ngoài ra còn có chức năng Jasmine createSpy nhưng giờ tôi nghĩ rằng $ cung cấp phải luôn được ưu tiên hơn.
Mọi thông tin chi tiết hoặc trợ giúp về điều này sẽ được đánh giá cao.
Đó là hữu ích đến từ một góc nhờ. Về việc chế nhạo một nhà máy trả về một hàm - tôi nghĩ bạn cũng có thể làm điều này bằng cách sử dụng createSpy để trả về hàm. – Asta