0

これが私が試したことです:

$ git clone https://github.com/angular/angular-seed my_project && cd my_project
$ rm -rf app update_angular.js test/e2e/scenarios.js
$ touch test/e2e/scenarios.js

次に、 AngularJS の公式ngMock.$httpBackendドキュメントのコードを次の場所に貼り付けました。

test/e2e/scenarios.js

'use strict';                               // Line 1

function MyController($scope, $http) {...}  // Lines 3-22

describe('MyController', function() {...}   // Lines 24-87

エラー

残念ながら、を使用してテストを実行すると、次のconfig/karma-e2e.confようになります。

ReferenceError: inject is not defined at
                http://localhost:9876/base/test/e2e/scenarios.js?1387679134000:31
4

1 に答える 1

1

inject は angular-mocks ファイルで定義されており、単体テストのみを目的としています。Karma を使用している場合は、それを files 配列に追加するだけです。

e2e テストはブラウザーの上にあり、angular-scenario によって実行されます。そこに Angular コンポーネントを注入することはできません。

ところで、Angular チームは機能テストをSelenium ベースの分度器に移行中です。角度シナリオのテスト フレームワークの代わりに、それに追いつきます。分度器ははるかに優れています。

于 2013-12-23T05:52:26.347 に答える