Xin chào Tôi viết bài kiểm tra góc đầu tiên của tôi với Jasmine nhưng tôi tiếp tục nhận được lỗi
------ thử nghiệm bắt đầu: File: C: \ Users \ Regan \ Documents \ Visual Studio 2013 \ WebSites \ Regan \ testApp \ TestProject \ ng-tests \ MainCtrlSpec.js ------ Kiểm tra 'MainCtrl với nội tuyến giả: cần phải có lables' thất bại Lỗi: [$ injector: unh] Unknown provider : $ scopeProvider < - $ scope < - MainCtrl
Tôi đã thử chơi với nó nhưng bị kẹt. Nếu bạn gặp sự cố, vui lòng cho tôi biết. Nếu bạn cần thêm mã, vui lòng cho tôi biết nhưng tôi nghĩ rằng vấn đề nằm trong hai tệp này.
MainCtrlSvc.js
/// <reference path="../../Scripts/angular/angular.js" />
/// <reference path="../../Scripts/angular/angular-mocks.js" />
/// <reference path="../../Scripts/chartjs/Chart.js" />
/// <reference path="../../Scripts/angular-chart.js-master/dist/angular-chart.js" />
/// <reference path="../../Scripts/controller/main-controller.js" />
/// <reference path="../../Scripts/service/data-service.js" />
/// <reference path="../../libs/jasmine/jasmine.js" />
describe("MainCtrl with inline mock", function() {
beforeEach(module("ChartApp"));
var ctrl, mockDataSrv;
beforeEach(module(function($provide) {
mockDataSrv = {
labels: ["Reading", "Coding", "Thinking About Coding", "Reddit", "StackOverflow"],
data: [500, 300, 300, 40, 220],
type: "PolarArea",
title: "Angular Chart Expriment"
};
$provide.value("DataSrv", mockDataSrv);
}));
beforeEach(inject(function ($controller) {
ctrl = $controller("MainCtrl");
}));
it("should have lables", function() {
expect(scope.labels).toBeDefined();
});
});
MainCtrl.js
var app = angular.module("ChartApp", ["chart.js"]);
app.controller("MainCtrl", ["$scope",
function ($scope, DataSrv) {
$scope.labels = DataSrv.labels;
$scope.data = DataSrv.data;
$scope.type = DataSrv.type;
$scope.title = DataSrv.title;
}
]);