/ / dlaczego pojawia się niezdefiniowany błąd "wstrzyknięcia" podczas używania Jasmine with Angular? - angularjs, jaśmin

Dlaczego się wstrzyknąć nieokreślony błąd, korzystając z Jasmine z kątowego?-angularjs, jaśminowa

Jestem nowicjuszem testującym jednostkę Jasmine / AngularJS. Stworzyłem prostą aplikację kątową, aby dodać dwie liczby, dzięki czemu mogę nauczyć się pisać testy jednostek dla aplikacji Angular. The Test Angular Doc na jednostce jest niekompletnyOpierając się na blogach i odpowiedziach przepełnienia stosu, tworzę swój pierwszy test i pojawia się niezdefiniowany błąd "wtryskiwacza". Używam ram Jasmine do testowania jednostkowego.
HTML

<body>
<div ng-controller="additionCtrl">
First Number: <input ng-model="NumberOne"/><br/>
Second Number: <input ng-model="NumberTwo"/>
<button ng-click="add(NumberOne, NumberTwo)">Add</button><br/>
Result: {{Result}}
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script src="Scripts/additionCtrl.js"></script>
</body>

Kontroler:

function additionCtrl($scope) {
$scope.NumberOne = 0;
$scope.NumberTwo = 0;
$scope.Result = 0;
$scope.add = function (a, b) {
};
}

Plik specyfikacji Jasmine.

describe("Addition", function () {
var $scope, ctrl;

beforeEach(inject(function ($rootScope, $controller) {
this.scope = $rootScope.$new();
ctrl = $controller("additionCtrl", {
$scope: this.scope
});
}));

it("should add two integer numbers.", inject(function ($controller) {
expect(ctrl.add(2, 3)).toEqual(5);
}));
});

Specrunner.html

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script type="text/javascript" src="lib/angular-mocks.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>

<!-- include source files here... -->
<script type="text/javascript" src="../App/Scripts/additionCtrl.js"></script>

<!-- include spec files here... -->
<script type="text/javascript" src="spec/addition.spec.js"></script>

To jest test na awarię i gdy test zakończy się niepowodzeniem z oczekiwanym rezultatem, mogę zmodyfikować kod, aby go przekazać, ale mam do czynienia z problemem, w jakiś sposób kątowa sztuczka nie dostaje iniektora.
Widziałem przykład, w którym mogę zainstalować kontroler zamiast wtryskiwacza, ale chciałbym spróbować nauczyć się używania wtryskiwacza, aby ustawić bardziej złożone testy.
Być może brakuje mi czegoś prostego tutaj. Proszę, skieruj mnie do każdego zapisu, który mogłem pominąć.
Dzięki

Odpowiedzi:

11 dla odpowiedzi nr 1

W celu późniejszego odniesienia, tutaj jest Plunker z pełnym zestawem testów jednostkowych (dla odpowiedzi na twoje pytanie miałem zamiar opublikować)

http://plnkr.co/edit/KZGKM6

Przydatne, aby ta konfiguracja była dostępna do udostępniania scenariuszy testów.


11 dla odpowiedzi nr 2

Znalazłem problem, adres URL, którego używałam, aby uzyskać dostęp do makiety kątowej, był nieprawidłowy. Zmieniłem go na "http://code.angularjs.org/1.0.6/angular-mocks.js"oraz zmieniła kolejność tagów skryptu na

<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<script type="text/javascript" src="http://code.angularjs.org/1.0.6/angular-mocks.js"></script>

teraz nie działa zgodnie z metodą, jak powinno być.