【问题标题】:Unable to run angular spec tests on Windows 10无法在 Windows 10 上运行角度规格测试
【发布时间】:2019-07-29 11:40:13
【问题描述】:

我正在尝试为 Windows 机器中的角度组件运行单元测试。 我观察到的是没有测试启动。控制台上也没有错误跟踪。以下是我得到的:

>ng 测试我的组件

0% 编译(node:6420) DeprecationWarning: Tapable.plugin 已弃用。利用 .hooks 上的新 API

29 07 2019 16:52:05.121:INFO [karma]:Karma v1.7.1 服务器开始于 http://0.0.0.0:9876/

29 07 2019 16:52:05.124:INFO [启动器]:以无限并发启动浏览器 Chrome

29 07 2019 16:52:05.129:INFO [启动器]:启动浏览器 Chrome

29 07 2019 16:53:05.132:WARN [launcher]:Chrome 没有在 60000 毫秒内捕获,正在杀死。

29 07 2019 16:53:07.135:WARN [launcher]:Chrome 没有在 2000 毫秒内被杀死,发送 SIGKILL。

29 07 2019 16:53:09.138:WARN [启动器]:Chrome 在 2000 毫秒内未被 SIGKILL 杀死,继续。

如何让测试运行?

【问题讨论】:

    标签: angular unit-testing karma-jasmine


    【解决方案1】:

    如果不查看您的配置就无法判断,但是请尝试遵循业力配置,执行 npm install 并包含依赖项,发布此内容,删除任何不必要的依赖项,例如“puppeteer”等

    const puppeteer = require('puppeteer');
    process.env.CHROME_BIN = puppeteer.executablePath();
    
    module.exports = function (config) {
      config.set({
        basePath: '',
        frameworks: ['jasmine', '@angular-devkit/build-angular'],
        files: [
          './assets/content-and-assets/mock-google-api.js'
        ],
    
        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'),
          require('karma-junit-reporter')
        ],
        client: {
          jasmine: {
            random: false
          },
          clearContext: false // leave Jasmine Spec Runner output visible in browser
        },
        coverageIstanbulReporter: {
          dir: require('path').join(__dirname, '../coverage'),
          reports: ['html', 'lcovonly', 'cobertura', 'text', 'text-summary'],
          fixWebpackSourcePaths: true
        },
        reporters: ['progress', 'kjhtml', 'junit'],
        junitReporter: {
          outputFile: '../../junitreport/credit-check-tests.xml'
        },
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        customLaunchers: {
          ChromeHeadless: {
            base: 'Chrome',
            flags: [
              '--headless',
              '--disable-gpu',
              '--no-sandbox',
              '--remote-debugging-port=9222',
            ]
          },
          Chrome1: {
            base: 'Chrome',
            flags: ['--disable-web-security',
              '--enable-gpu']
          },
          ChromeDebugging: {
            base: 'Chrome',
            flags: ['--remote-debugging-port=9333']
          },
    
        },
         browsers: ['ChromeDebugging'],
         singleRun: false
        //browsers: ['ChromeHeadless'],
        //singleRun: true
      });
    };
    

    根据我的要求在 Win10 中为我工作。

    PS : 你可以在 headless 模式下运行 chrome,切换注释最后两行。

    编辑

    我假设你已经在你的机器上安装了 chrome 浏览器。(建议)

    如果您不打算使用浏览器,您可以选择 PhantomJS,但这并不高效。

    Benchmark供参考

    【讨论】:

      猜你喜欢
      • 2016-01-16
      • 2021-03-11
      • 2015-11-02
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2020-05-17
      相关资源
      最近更新 更多