我试图对我的控制器进行单元测试,但它依赖于路由解析时产生的一些数据。我只是不知道如何测试(或不失败的测试,因为它找不到"本地")
控制器:
myMainModule.controller('theController', function theController($scope, $route) {
[...]
$scope.variable = $route.current.locals.data;
[...]
}
路由配置:
[...].config(function ($routeProvider, $locationProvider) {
$routeProvider.when([...], {
templateUrl: [...],
controller: 'theController',
resolve: {
data: [...]
}
}
[...]
} [...]
在你的单元测试中,注入一个假的$route而不是真正的$route:
var fakeRoute = {
current: {
locals: {
data: 'someFakeData'
}
}
}
$scontroller('theController', {
$scope: $scope,
$route: fakeRoute
}