반응형
"[객체]가 함수가 아니다"를 초래하는 각도 모의 'module'
Teaspoon을 통해 실행되는 Jasmine을 사용하여 Angular에서 몇 가지 유닛 테스트를 만들려고 합니다.테스트는 실행 중이지만 장애가 발생하고 있는 컨트롤러의 존재를 테스트하기 위한 간단한 테스트가 있습니다.다음과 같은 테스트 설정이 있습니다.
//= require spec_helper
require("angular");
require("angular-mocks");
var app = require("./app");
describe("My App", function() {
describe("App Controllers", function() {
beforeEach(module("app"))
it("Should have created an application controller", inject(function($rootScope, $controller){
var scope = $rootScope.$new();
ctrl = $controller("ApplicationCtrl", { $scope: scope });
}));
})
})
요구 사항은 종속성을 처리하는 Browserify에 의해 처리되지만 스펙 도우미에 사용하는 스프로킷에 연결할 수도 있습니다.
필요한 앱에
require("angular");
var controllers = require("./controllers");
var app = angular.module("app", [
"app.controllers"
]);
exports.app = app;
이 테스트를 실행하면 다음과 같은 오류가 발생합니다.
Failure/Error: TypeError: '[object Object]' is not a function (evaluating 'module("aialerts")')
나는 이것을 알아내기 위해 꽤 많은 시간을 보냈지만 무슨 일이 일어나고 있는지 모르겠다.아무쪼록 잘 부탁드립니다.
저도 같은 문제가 있었어요.다음 행 변경:
beforeEach(module("app"))
대상:
beforeEach(angular.mock.module("app"))
Browserify는 노드 스타일을 사용합니다.require
,어디에module
는 기능을 내보내기 위해 사용할 수 있는 객체입니다.
console.log(module); // {exports: {}}
angular-mocks.mocks.mocks는 함수를 부가하려고 합니다.window.module
단, Browserify/Node에서는 불가능합니다.
앵귤러 모크 소스를 살펴본 결과 앵귤러 모크도 또한 부착되어 있는 것으로 보입니다.module
기능하다angular.mock
글로벌을 사용하는 대신module
object를 사용해야 합니다.angular.mock.module
.
언급URL : https://stackoverflow.com/questions/20968320/angular-mock-module-resulting-in-object-object-is-not-a-function
반응형
'programing' 카테고리의 다른 글
SQL Server의 DECODE() 함수 (0) | 2023.03.02 |
---|---|
JSON 데이터를 암호화할 수 있습니까? (0) | 2023.03.02 |
postgresql에서의 JSON 해석 방법 (0) | 2023.03.02 |
각도 클리어 방법JS 어레이 (0) | 2023.03.02 |
Spring Boot Rest Controller에서 요청 URL을 가져오는 방법 (0) | 2023.03.02 |