Noa*_*oam 5 unit-testing angularjs angular-ui-router
我正在尝试编写我没写过的使用ui-router的代码的测试.
我无法找到一种方法将控制器注入我的测试,因为它是在另一个控制器中配置的状态内内联和匿名编写的:
$scope.deleteSomething = function() {
$modal.open(
templateUrl: '/delete-item-modal.html',
controller: ['$scope', '$modalInstance', 'someService',
function($scope, $modalInstance, someService) {
....
}
],
resolve: {
...
}
});
};
Run Code Online (Sandbox Code Playgroud)
如果控制器被命名为类似于controller: 'TheController'我将在我的测试中通过这样做注入它没有问题:
beforeEach(inject(function($controller) {
$controller('TheController', {/*dependancies to be injected*/});
}));
Run Code Online (Sandbox Code Playgroud)
但由于控制器是匿名的,我没有处理它,也无法弄清楚如何访问它.
小智 0
这是一个站不住脚的局面。您应该对准备修改的代码进行单元测试,以防止回归。如果您无法在当前状态下对它进行单元测试,那么您唯一的选择就是对其进行集成测试。向请求这项工作的人解释:
这就是我要做的。
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |