ich uns mag einen npm Modul (als einfaches Beispiel hier array-equal
Wie verwende ich npm-Module in Jasmin-Tests?
Das ist meine Jasmin Testspezifikation:
describe('BinoxxoController', function() {
beforeEach(angular.mock.module('binoxxoapp'));
beforeEach(inject(function(_$controller_) {
$controller = _$controller_;
}));
describe('$scope.lineIsValid', function() {
var $scope, controller;
beforeEach(function() {
$scope = {};
var controller = $controller('BinoxxoController', { $scope: $scope});
})
it('equals array', function() {
var array0 = [1, 2, 3];
var array1 = [1, 2, 3];
expect(equal(array0, array1)).toBe(true);
});
});
});
index.html (testrunner)
<!doctype html>
<html>
<head>
<title>Jasmine Spec Runner</title>
<link rel="stylesheet" href="../../../node_modules/jasmine-core/lib/jasmine-core/jasmine.css">
</head>
<body>
<script src="../../../node_modules/jasmine-core/lib/jasmine-core/jasmine.js"></script>
<script src="../../../node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js"></script>
<script src="../../../node_modules/jasmine-core/lib/jasmine-core/boot.js"></script>
<script src="../../../node_modules/angular/angular.js"></script>
<script src="../../../node_modules/angular-mocks/angular-mocks.js"></script>
<!-- include source files here... -->
<script src="../../../static/js/app.js"></script>
<script src="../../../node_modules/array-equal/index.js"></script>
<!-- include spec files here... -->
<script src="spec/controllerSpec.js"></script>
</body>
</html>
ich das Modul enthalten, aber ich habe noch einen Fehler ist ReferenceError: equal is not defined
Hier wird das Array-Modul gleich, ob das hilft:
module.exports = function equal(arr1, arr2) {
var length = arr1.length
if (length !== arr2.length) return false
for (var i = 0; i < length; i++)
if (arr1[i] !== arr2[i])
return false
return true
}
Ich kann bestätigen, dass der Pfad zur src-Datei korrekt ist und alle js-Dateien geladen sind.