Added a first simple test.
That serves as a proof-of-concept and as a template for future tests. It's a start!
This commit is contained in:
		
							parent
							
								
									f3b5a7580a
								
							
						
					
					
						commit
						77a79bf588
					
				
					 7 changed files with 139 additions and 2 deletions
				
			
		
							
								
								
									
										21
									
								
								config/karma-test-shim.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								config/karma-test-shim.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| Error.stackTraceLimit = Infinity; | ||||
| 
 | ||||
| require('core-js/es6'); | ||||
| require('core-js/es7/reflect'); | ||||
| 
 | ||||
| require('zone.js/dist/zone'); | ||||
| require('zone.js/dist/long-stack-trace-zone'); | ||||
| require('zone.js/dist/proxy'); | ||||
| require('zone.js/dist/sync-test'); | ||||
| require('zone.js/dist/jasmine-patch'); | ||||
| require('zone.js/dist/async-test'); | ||||
| require('zone.js/dist/fake-async-test'); | ||||
| 
 | ||||
| var appContext = require.context('../src', true, /\.spec\.ts/); | ||||
| 
 | ||||
| appContext.keys().forEach(appContext); | ||||
| 
 | ||||
| var testing = require('@angular/core/testing'); | ||||
| var browser = require('@angular/platform-browser-dynamic/testing'); | ||||
| 
 | ||||
| testing.TestBed.initTestEnvironment(browser.BrowserDynamicTestingModule, browser.platformBrowserDynamicTesting()); | ||||
							
								
								
									
										44
									
								
								config/karma.conf.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								config/karma.conf.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| var webpackConfig = require('./webpack.test'); | ||||
| 
 | ||||
| module.exports = function (config) { | ||||
|     var _config = { | ||||
|         basePath: '', | ||||
| 
 | ||||
|         frameworks: ['jasmine'], | ||||
| 
 | ||||
|         files: [ | ||||
|             { | ||||
|                 pattern: './config/karma-test-shim.js', | ||||
|                 watched: false | ||||
|             } | ||||
|         ], | ||||
| 
 | ||||
|         preprocessors: { | ||||
|             './config/karma-test-shim.js': ['webpack', 'sourcemap'] | ||||
|         }, | ||||
| 
 | ||||
|         webpack: webpackConfig, | ||||
| 
 | ||||
|         webpackMiddleware: { | ||||
|             stats: 'errors-only' | ||||
|         }, | ||||
| 
 | ||||
|         webpackServer: { | ||||
|             noInfo: true | ||||
|         }, | ||||
| 
 | ||||
|         reporters: ['kjhtml'], | ||||
|         port: 9876, | ||||
|         colors: true, | ||||
|         logLevel: config.LOG_INFO, | ||||
|         autoWatch: false, | ||||
|         browsers: ['PhantomJS'], | ||||
|         singleRun: true, | ||||
|         phantomjsLauncher: { | ||||
|             // Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom) 
 | ||||
|             exitOnResourceError: true | ||||
|         } | ||||
|     }; | ||||
| 
 | ||||
|     config.set(_config); | ||||
| }; | ||||
							
								
								
									
										52
									
								
								config/webpack.test.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								config/webpack.test.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | |||
| var webpack = require('webpack'); | ||||
| var helpers = require('./helpers'); | ||||
| 
 | ||||
| module.exports = { | ||||
|     devtool: 'inline-source-map', | ||||
| 
 | ||||
|     resolve: { | ||||
|         extensions: ['.ts', '.js'] | ||||
|     }, | ||||
| 
 | ||||
|     module: { | ||||
|         rules: [ | ||||
|             { | ||||
|                 test: /\.ts$/, | ||||
|                 loaders: [ | ||||
|                     { | ||||
|                         loader: 'awesome-typescript-loader', | ||||
|                         options: {configFileName: helpers.root('src', 'tsconfig.json')} | ||||
|                     }, 'angular2-template-loader' | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 test: /\.html$/, | ||||
|                 loader: 'html-loader' | ||||
| 
 | ||||
|             }, | ||||
|             { | ||||
|                 test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/, | ||||
|                 loader: 'null-loader' | ||||
|             }, | ||||
|             { | ||||
|                 test: /\.css$/, | ||||
|                 exclude: helpers.root('src', 'app'), | ||||
|                 loader: 'null-loader' | ||||
|             }, | ||||
|             { | ||||
|                 test: /\.css$/, | ||||
|                 include: helpers.root('src', 'app'), | ||||
|                 loader: 'raw-loader' | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
| 
 | ||||
|     plugins: [ | ||||
|         new webpack.ContextReplacementPlugin( | ||||
|             // The (\\|\/) piece accounts for path separators in *nix and Windows
 | ||||
|             /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/, | ||||
|             helpers.root('./src'), // location of your src
 | ||||
|             {} // a map of your routes
 | ||||
|         ) | ||||
|     ] | ||||
| }; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue