3
測試之間重置服務
我有注入beforeEach服務:如何AngularJS
beforeEach(inject(function($rootScope, $state, $injector, $controller, MyService) {
var state = $state;
scope = $rootScope.$new();
myService = MyService;
ctrl = $controller('MainCtrl', {$state: state, MyService: myService});
}));
而且我與「它」描述的一些測試:
it('test1', function() {
var data = ["test"];
ctrl.extract_data(data);
expect(myService.get_data()).toEquals("test");
});
現在我的問題是我有在服務測試之間的共享變量(變量數據),並且如果我運行與其他數據(例如VAR數據= [「一個」,「b」])的測試中,在爲myService共享的變量將包含一個,b和測試(從之前的測試中檢索)。每次測試運行時,有沒有「重置」服務內容的方法?
你好,我想我有同樣的問題,但顯然,'angular.mock.inject'似乎每次都提供一個新的服務實例。你可以創建一個plunkr來展示問題嗎? –
我也有一個相同的服務實例用來運行不同的測試問題。在''beforeEach';作爲一種變通方法我用'$ provide.service( '爲myService',app.MyService)重新定義了服務。 – tsauerwein