从电子角项目运行Karma时出错

问题描述 投票:0回答:1

我尝试了许多配置失败。当我执行karma start时,下面详述的一个引发错误。arma plugin is meant to be used from within Angular CLI and will not work correctly outside of it

在项目级别,我有这个karma.config.js

module.exports = require('./src/karma.conf.js'); 指向此配置:

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-electron'),
      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
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, '../coverage'),
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['AngularElectron'],
    singleRun: true,
    customLaunchers: {
      AngularElectron: {
        base: 'Electron',
        browserWindowOptions: {
          webPreferences: {
            nodeIntegration: true,
            allowRunningInsecureContent: true
          }
        }
      }
    },
    client: {
      useIframe: false
    }
  });
}; 

我的package.json从https://github.com/twolfson/karma-electron/issues/43可见

我应该改变什么?

感谢您的帮助

angular electron karma-jasmine karma-runner
1个回答
0
投票

我检查了关于GH的问题,您的直接问题是您需要使用ng test,但是要使因果电子与Angular /茉莉花堆栈(我刚刚解决了这个问题):

  1. 如果没有自定义webpack.config.js,电子index.js中的var fs = require('fs')将无法解析

    a。运行npm i @angular-builders/custom-webpack -D

    b。在您的angular.json中,修改您的测试项目:

    "test": { "builder": "@angular-builders/custom-webpack:karma", "options": { "main": "projects/ngx-core-services/src/test.ts", "tsConfig": "projects/ngx-core-services/tsconfig.spec.json", "karmaConfig": "projects/ngx-core-services/karma.conf.js", "customWebpackConfig": { "path": "./webpack.config.js" } } }

    c。在项目根目录下添加一个webpack.config.js,其中包含以下内容:

    module.exports = { target: 'electron-renderer' };

    这将启用必需的功能。

© www.soinside.com 2019 - 2024. All rights reserved.