4

KarmaJS (0.9.2) を使用して Jasmine e2e テストを実行したいと考えています。Windows 7 で AngularJS (1.0.7) で Google Closure を使用しています。カルマを開始すると、karma start config\karma-e2e.jsすべて正常に動作します (ブラウザーは正しいページに移動します) が、テストは実行されません (「ブラウザーの移動先」で停止します)。

config\karma-e2e.jsファイル:

basePath = '../';

frameworks = ['ng-scenario'];

files = [
  'tests/e2e/**/*.js'
];

autoWatch = true;

singleRun = false;

browsers = ['Chrome'];

urlRoot = '/__karma/';

proxies = {
    '/': 'http://localhost:8080/'
}

plugins = [
    'karma-ng-scenario'
    'karma-chrome-launcher'
]

テスト ソース ( tests\e2e\scenarios.coffee) は次のとおりです。

describe 'Intro page view', ->

  it 'has hello world message', ->
    browser().navigateTo '/app/client/'
    expect(element('#text').text()).toBe 'Hello World'

私は html5Mode ルートを使用しており、angular は を使用して手動でブートストラップangular.bootstrapされています。すべてのコーヒー スクリプトは IDE によってコンパイルされており、ブラウザー コンソールまたはコマンド ラインにエラーは表示されません。では、どうすればいいですか?私は何か間違ったことをしていますか?

ありがとう!

4

1 に答える 1

6

この問題を解決しました。角度のあるシナリオには、少なくとも奇妙な (またはバグである) ng-app ディレクティブが必要なようです。そのため、インデックスページで App.bootstrap() を呼び出した後、ボディに ng-app 属性を追加しました。すべてが正常に動作するようになりました。

<script type="text/javascript">
App.bootstrap();
document.body.setAttribute('ng-app', 'App');
</script>
于 2013-05-26T09:23:18.443 に答える