Mot*_*lal 8 karma-jasmine angular
更新到 Angular 13 后,我的许多单元测试(在 Angular 12 上运行没有问题)现在都失败了。我发现更令人沮丧的是,测试仅在一起运行时才会失败,而当我使用fdescribe.
我读到,在 Angular 13 中,选项teardown默认设置为 true,因此我尝试在test.ts文件中全局选择退出:
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false }
}
);
Run Code Online (Sandbox Code Playgroud)
但这没有用。
我的业力配置:
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-junit-reporter'),
require('karma-coverage'),
require('karma-mocha-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
jasmine: {
random: false,
},
},
coverageReporter: {
dir: require('path').join(__dirname, '../../coverage/cockpit'),
reporters: [
{ type: 'html', subdir: 'report-html' },
{ type: 'lcov', subdir: 'report-lcov' },
{ type: 'text-summary' },
],
fixWebpackSourcePaths: true,
},
junitReporter: {
outputDir: require('path').join(__dirname, '../../junit-report/cockpit'),
suite: 'cockpit',
outputFile: 'cockpit-tests-report.xml',
fixWebpackSourcePaths: true,
},
reporters: ['mocha', 'kjhtml', 'coverage', 'junit'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
restartOnFileChange: true,
});
};
Run Code Online (Sandbox Code Playgroud)
在浏览器控制台中,我看到很多以下错误:
NG0303:无法绑定到“ngTemplateOutlet”,因为它不是“ng-container”的已知属性
我已经没有主意了。
该问题是由 ngrx 商店引起的。现在需要重置afterEach块中的选择器
afterEach(() => {
store.resetSelectors();
fixture.destroy();
TestBed.resetTestingModule();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4902 次 |
| 最近记录: |