Приветствие,
В настоящее время я пытаюсь создать тесты, используя карма-жасмин, в приложении, использующем Angular и Electron.
Я столкнулся с проблемой с простым git, который использует дочерний процесс ипохоже, это вызывает проблему:
"ОШИБКА в ./node_modules/simple-git/src/index.js Модуль не найден: Ошибка: не удается разрешить 'child_process' в 'C: \ Users \ Martin\ Documents \ Cours \ Projet \ Githarpon \ git-harpon \ node_modules \ simple-git \ src 'resolv' child_process 'в' C: \ Users \ Martin \ Documents \ Cours \ Projet \ Githarpon \ git-harpon \ node_modules \ simple-git \ src '"
Затем я попытался смоделировать мой сервис, использующий simple-git (GitService)
TestBed.configureTestingModule({
declarations: [HomeComponent],
imports: [
FormsModule
],
providers: [
{
provide: TranslateService,
useClass: MockTranslateService
},
{
provide: GitService,
useClass: MockGitService
},
{
provide: ElectronService,
useClass: MockElectronService
}
]
})
.compileComponents();
}));
MockService:
import * as gitPromise from 'simple-git/promise';
import * as simpleGit from 'simple-git';
import { Subject } from 'rxjs';
import { ElectronService } from '../providers/electron.service';
import * as GitUrlParse from 'git-url-parse';
import { ServiceResult } from '../models/ServiceResult';
import { TranslateService } from '@ngx-translate/core';
export class MockGitService {
}
И, наконец, моя карма.conf.js file:
module.exports = function (config) {
config.set({
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('karma-htmlfile-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
},
htmlReporter: {
outputFile: '../units/units.html'
},
reporters: ['progress', 'html'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: true
});
};
Любая помощь может быть очень полезна