- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到 - Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope
运行以下测试时:
describe('mainCtrl', function () {
beforeEach(module('app'));
var controller, scope;
var window = {
open: function (url, target, specs) {
var spec, specKey;
this.href = url;
this.target = target;
// Parse through the spec string to grab the parameters you passed through
var specArray = specs.split(',');
for (specKey in specArray) {
spec = specArray[specKey].split('=');
this[String.trim(spec[0])] = String.trim(spec[1]);
}
}
};
beforeEach(inject(function ($controller, $window, $rootScope) {
scope = $rootScope.$new();
controller = $controller('mainCtrl', {$scope: scope});
window = $window;
}));
describe('$scope.popup1', function () {
it('should open a popup window when ISIN hyperlink is clicked within grid, passing ISIN object s values to shareDataService', inject(function ($window, $scope) {
spyOn($window, 'open').and.callFake(function () {
return true;
});
scope.popup1()
expect(window.href).toEqual("views/Box_Ladder.html");
expect(window.target).toEqual("_blank");
expect(window.height).toEqual(400);
expect(window.width).toEqual(700);
})
)
})
});
但我不知道为什么。我已经注入(inject)了范围(据我所知)并在我的 karma.conf.js 文件中包含了 Angular 模拟。
最佳答案
这是因为你试图将 $scope
注入(inject)到 it
函数中:
it('should open a popup window ...', inject(function ($window, $scope)
只需删除它,它就可以工作了:
it('should open a popup window ...', inject(function ($window)
就像错误状态一样,没有$scopeProvider
。测试时,您必须手动创建范围并分配它们,就像您在创建 Controller 时所做的那样:
scope = $rootScope.$new();
controller = $controller('mainCtrl', {$scope: scope});
关于angularjs - Karma - 未知提供商 : $scopeProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34285654/
我在尝试在 Controller 中使用 $scope 服务时遇到问题。 Controller 基本上取自 angular-seed 项目。 'use strict'; angular.module(
我已经在 AngularJS 中创建了一个具有 Skinny AngularJS Controllers 的应用程序。该应用程序工作正常,但问题是当我尝试使用 $controller('Control
我有一个如下所示的 js 文件。 (function(){ angular.module("MyModule",[]) .service('testService',testServi
您好,我正在使用 Jasmine 编写第一个 Angular 测试,但我不断收到错误 ------ 测试开始:文件:C:\Users\Regan\Documents\Visual Studio 201
我得到 - Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope运行以下测试时: describe('mainCtrl'
我用 Jasmine (http://jasmine.github.io/2.0/)测试我的 Angular 应用程序并得到下一个错误:未知提供者:$scopeProvider <- $scope我知
我收到此错误未知提供程序:$scopeProvider $rootScope. 关于javascript - 未知提供商 : $scopeProvider initialling angularjs
我是 AngularJS 的新手。我创建了以下包含模板和关联 Controller 的组件。 angular. module('beerDetail'). controller('BeerDetail
我得到了错误 Unknown provider: $userProvider <- $user" 使用以下代码: var app = angular.module('test', []); app.f
我的 AngularScript 遇到错误,我试图从 Web API 加载一些数据并尝试使用 ng-repeat 来了解 Angular 的基础知识。 https://docs.angularjs.o
我正在尝试使用 Jasmine 和 Karma 为网络应用程序的特定 Controller 实现单元测试。目前它给出以下错误: Chrome 53.0.2785 (Mac OS X 10.10.5)
我目前正在为我的 Xtext dsl 实现交叉引用。一个 dsl 文件可以包含多个 XImportSection,在某些特殊情况下,XImportSection 不一定包含所有导入语句。这意味着我需要
我已经开始学习 Angular JS,但在将服务注入(inject) Controller 时遇到了问题。我试图将 ThreadFactory 服务放入 ThreadController 中,但在调用
marsApp.filter("transformSensorStatus", function($scope) { return function(input, options) {
我收到此常见错误错误:[$injector:unpr] Unknown provider: $scopeProvider <- $scope用我的测试用例。我知道这是一个常见的问题,并且很少有其他线程
我似乎与许多其他使用 AngularJS 和依赖项注入(inject)的人有类似的问题,即:当我尝试将服务注入(inject) Controller 时,我的 AngularJS 应用程序给出了一个
以这种方式使用 DI 时: var MainController = function MainController($scope) { //use $scope here }; MainCont
我刚开始使用 AngularJS以下代码在控制台中给出错误。 未知提供者:$scopeProvider <- $scope <- newActiveOrdersModel 。我已经研究过,但看起来未知
我创建了一个服务来使用 Web API Controller 方法从数据库中提取数据。但是每当我注入(inject)服务并调用 Controller 中的服务方法时,它都会显示以下错误: Error:
我想在我的工厂中注入(inject)我的服务,以便在我的 Controller 中使用我的工厂: Controller app.home.controller('HomeController', ['
我是一名优秀的程序员,十分优秀!