This commit updates the necessary config files to run the angular.io and docs tooling unit tests in random order (and fixes the tests that were failing due to their dependence on the previous ordered execution). Besides being a good idea anyway, running tests in random order is the new [default behavior in jasmine@3.0.0][1], so this commit is in preparation of upgrading jasmine to the latest version. [1]: https://github.com/jasmine/jasmine/blob/v3.0.0/release_notes/3.0.md#breaking-changes PR Close #31527
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Karma configuration file, see link for more information
 | |
| // https://karma-runner.github.io/1.0/config/configuration-file.html
 | |
| 
 | |
| 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('@angular-devkit/build-angular/plugins/karma'),
 | |
|       {'reporter:jasmine-seed': ['type', JasmineSeedReporter]},
 | |
|     ],
 | |
|     client: {
 | |
|       clearContext: false,  // leave Jasmine Spec Runner output visible in browser
 | |
|       jasmine: {
 | |
|         random: true,
 | |
|         seed: '',
 | |
|       },
 | |
|     },
 | |
|     coverageIstanbulReporter: {
 | |
|       dir: require('path').join(__dirname, './coverage/site'),
 | |
|       reports: ['html', 'lcovonly', 'text-summary'],
 | |
|       fixWebpackSourcePaths: true,
 | |
|     },
 | |
|     reporters: ['progress', 'kjhtml', 'jasmine-seed'],
 | |
|     port: 9876,
 | |
|     colors: true,
 | |
|     logLevel: config.LOG_INFO,
 | |
|     autoWatch: true,
 | |
|     browsers: ['Chrome'],
 | |
|     browserNoActivityTimeout: 60000,
 | |
|     singleRun: false,
 | |
|     restartOnFileChange: true,
 | |
|   });
 | |
| };
 | |
| 
 | |
| // Helpers
 | |
| function JasmineSeedReporter(baseReporterDecorator) {
 | |
|   baseReporterDecorator(this);
 | |
| 
 | |
|   this.onBrowserComplete = (browser, result) => {
 | |
|     const seed = result.order && result.order.random && result.order.seed;
 | |
|     if (seed) this.write(`${browser}: Randomized with seed ${seed}.\n`);
 | |
|   };
 | |
| 
 | |
|   this.onRunComplete = () => undefined;
 | |
| }
 |