代码之家  ›  专栏  ›  技术社区  ›  shreyansh

业力测试用例正在运行多次:角度单元测试

  •  0
  • shreyansh  · 技术社区  · 5 年前

    我不明白为什么我的因果报应测试用例在一个固定的测试用例之后会重复运行多次。

    Chrome 75.0.3770(Windows 10.0.0):执行131次,共251次断开连接(1分钟9.028秒/18.285秒)

    Chrome 75.0.3770(Windows 10.0.0):执行131次,共251次断开连接(47.273秒/18.169秒)

    Chrome 75.0.3770(Windows 10.0.0):执行131次,共251次断开连接(1分钟9.028秒/18.285秒)

    Chrome 75.0.3770(Windows 10.0.0):执行97次,共251次断开连接(22.07秒/19.87秒)

    Chrome 75.0.3770(Windows 10.0.0):执行131次,共251次断开连接(1分钟9.028秒/18.285秒)

    Chrome 75.0.3770(Windows 10.0.0):执行131次,共251次成功(0秒/17.406秒)

    Chrome 75.0.3770(Windows 10.0.0):执行239次,共251次成功(0秒/20.912秒)

    // Karma configuration file, see link for more information
    // https://karma-runner.github.io/1.0/config/configuration-file.html
    
    const { join } = require('path');
    const { constants } = require('karma');
    
    module.exports = () => {
      return {
        basePath: '',
        frameworks: ['jasmine', '@angular-devkit/build-angular'],
        plugins: [
          require('karma-jasmine'),
          require('karma-chrome-launcher'),
          require('karma-jasmine-html-reporter'),
          require('karma-coverage-istanbul-reporter'),
          require('@angular-devkit/build-angular/plugins/karma')
        ],
        client: {
          clearContext: false, // leave Jasmine Spec Runner output visible in browser
          jasmine: {
            random: false
          }
        },
        coverageIstanbulReporter: {
          dir: join(__dirname, '../../coverage'),
          reports: ['html', 'lcovonly'],
          fixWebpackSourcePaths: true
        },
        reporters: ['progress', 'kjhtml'],
        port: 9876,
        colors: true,
        logLevel: constants.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: true,
      };
    };
    

    当我将singleRun更改为false并使用ngtest执行测试用例时,它工作得很好,问题是只有当我将其更改为true时。

           browserNoActivityTimeout: 50000,
            captureTimeout: 60 * 1000,
            // captureTimeout: 210000,
            browserDisconnectTolerance: 1,
            // browserDisconnectTimeout: 210000,
            // browserNoActivityTimeout: 210000
    

    但对我来说什么都不管用。

    下面是devDependencies中的配置(我使用angular cli version 8)

     "devDependencies": {
        "@angular-devkit/build-angular": "0.800.3",
        "@angular-devkit/build-ng-packagr": "0.800.3",
        "@angular/cli": "^8.0.3",
        "@angular/compiler-cli": "~8.0.0",
        "@angular/language-service": "^6.1.0",
        "@ngrx/store-devtools": "6.0.1",
        "@nrwl/schematics": "~8.0.0",
        "@ruf/schematics": "next",
        "@ruf/wrench": "next",
        "@types/jasmine": "~2.8.6",
        "@types/jasminewd2": "~2.0.3",
        "@types/node": "^8.10.10",
        "codelyzer": "5.1.0",
        "dotenv": "6.2.0",
        "jasmine-core": "~3.4.0",
        "jasmine-marbles": "0.3.1",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~4.1.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "^2.0.5",
        "karma-jasmine": "~2.0.1",
        "karma-jasmine-html-reporter": "~1.4.2",
        "ngrx-store-freeze": "0.2.4",
        "prettier": "1.16.4",
        "protractor": "~5.3.0",
        "scss-bundle": "^2.1.2",
        "ts-node": "~7.0.0",
        "tslint": "~5.11.0",
        "typescript": "~3.4.5",
        "istanbul-instrumenter-loader": "^3.0.1",
        "karma-sourcemap-loader": "^0.3.7",
        "karma-webpack": "^3.0.4",
        "source-map-loader": "^0.2.4"
      }
    

    请建议!!!!

    0 回复  |  直到 5 年前
        1
  •  3
  •   shreyansh    5 年前

    我通过监视具有 location.href 放在里面。

    导致页面加载不同的网址,因为业力一次又一次地运行。