我有一个主控制器mainCtrl
和一个弹出模式modalController
的控制器,它通过服务将复选框值传递回我的主控制器。我了解如何注入服务,但如何跨控制器进行测试?
我已经尝试过了 -
it('when an entity is chosen expect getEntityFromModal() to be called and its parameter and checked state passed to shareDataService.setModalEntity', inject(function (modalController) {
expect(modalController.getEntityFromModal()).toBeDefined();
}));
其中modalController
是我的辅助控制器。但这并不奏效。
我是否必须以这样的方式注入第二个控制器 -
beforeEach(module('app'));
beforeEach(inject(function ($controller, $rootScope, $compile) {
mainScope = $rootScope.$new();
ctrl = $controller('mainCtrl', {
$scope: mainScope
});
ctrl2 = $controller('modalController', {
$scope: modalScope
});
}));
修改
或者我只是创建第二个测试文件,它只测试我的第二个控制器?这似乎不是测试我的应用程序的好选择。