我正在尝试对我的控制器进行单元测试,但它依赖于源自路由解析时的一些数据。我只是无法弄清楚如何测试(或者没有通过测试,因为它无法找到“本地人”)
控制器:
myMainModule.controller('theController', function theController($scope, $route) {
[...]
$scope.variable = $route.current.locals.data;
[...]
}
路线配置:
[...].config(function ($routeProvider, $locationProvider) {
$routeProvider.when([...], {
templateUrl: [...],
controller: 'theController',
resolve: {
data: [...]
}
}
[...]
} [...]
答案 0 :(得分:5)
在你的单元测试中,注入假的$ route而不是真正的$:
var fakeRoute = {
current: {
locals: {
data: 'someFakeData'
}
}
}
$scontroller('theController', {
$scope: $scope,
$route: fakeRoute
}