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 });
}));
})
})
require ステートメントは、依存関係を処理する Browserify によって処理されますが、spec ヘルパーに使用しているスプロケットにフックすることもできます。
必要なアプリの中で、私は持っています
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")')
これを理解しようとかなりの時間を費やしましたが、何が起こっているのかわかりません。どんな助けでも感謝します。