1

Web アプリの e2e テストを書いていますが、最初から行き詰っています。私のテスト経験を開始するための助けをいただければ幸いです。

私はangularjsがまったく初めてです。だから我慢してください。

アプリのランディング ページにいるかどうかを確認するテストを書きたいと思います。ジャスミンとカルマを使用しています。

ここに私の設定ファイルがあります // Karma 設定

    module.exports = function(config) {
      config.set({
    // base path, that will be used to resolve files and exclude
        basePath: '../',
    // frameworks to use
        frameworks: ['jasmine'],


        // list of files / patterns to load in the browser
        files: [
            'source/assets/vendor/angular/angular.js',
            'test/lib/angular-mocks.js',
            'test/scripts/**/*.js',
            'test/unit/**/*.js',
            'test/e2e/**/*.js'
        ],


        // list of files to exclude
        exclude: [

        ],


         // test results reporter to use
        // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
        reporters: ['progress'],


        // web server port
        port: 9876,


       // enable / disable colors in the output (reporters and logs)
        colors: true,


        // level of logging
        // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN ||   config.LOG_INFO || config.LOG_DEBUG
       logLevel: config.LOG_INFO,


        // enable / disable watching file and executing tests whenever any file changes
        autoWatch: true,


        // Start the browser, currently available:
        browsers: ['Chrome'],


        // If browser does not capture in given timeout [ms], kill it
        captureTimeout: 60000,


        // Continuous Integration mode
       // if true, it capture browsers, run tests and exit
        singleRun: false
      });
    };

私のmainscenario.jsファイル。

        describe('appName', function() {

            beforeEach(function() {
                browser().navigateTo('../../source/views/home/landing.html');
            });


            it('should automatically redirect to landing page when location hash/fragment is empty', function() {
                expect(browser().location().url()).toBe("/landing");
            });

評判が 10 必要なので、エラーのスクリーン ショットを投稿することはできません。しかし、ここに説明があります。

    AngularJS: Scenario Test Runner1 Errors0 Failures0 Passed
    describe: appName
    165ms should automatically redirect to landing page when location hash/fragment is empty
    118ms   browser navigate to '../../source/views/home/landing.html'
    8ms $location.url()
    http://localhost:8000/test/e2e/mainscenario.js:9:16

    TypeError: Object [object Object] has no method 'injector'
        at Object.<anonymous> (http://localhost:8000/test/lib/angular-scenario.js:27230:30)
        ...........blah blah

前もって感謝します。

4

2 に答える 2

0

Web サーバーが実行されていることと、カルマも実行されていることを確認する必要があります。この記事を見てください

また、私のkarma-e2e.conf.js見た目は次のようになります。

    module.exports = function( config ) {
        config.set({
            basePath: '../',
            plugins: ['karma-ng-scenario', 'karma-jasmine', 'karma-chrome-launcher','karma-html2js-preprocessor'],
            frameworks: ['ng-scenario'],

フレームワークで使用することに注意してください'ng-scenario'

お役に立てれば。

于 2013-09-06T19:46:04.790 に答える