fix(test): create polyfills-test.ts for karma test & setup Travis CI

This commit is contained in:
Heo Sangmin
2018-05-19 16:38:21 +09:00
parent be48531517
commit 7fbc68cd1f
9 changed files with 25 additions and 31 deletions

1
.gitignore vendored
View File

@@ -38,6 +38,7 @@ package-lock.json
# e2e # e2e
/e2e/*.js /e2e/*.js
!/e2e/protractor.conf.js
/e2e/*.map /e2e/*.map
# System Files # System Files

View File

@@ -1,8 +1,17 @@
language: node_js language: node_js
node_js: node_js:
- 8 - 8
sudo: required
addons:
chrome: stable
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
install: install:
- npm set progress=false - npm set progress=false
- npm install - npm install
script: script:
- ng lint
- npm run test
- npm run e2e
- npm run build - npm run build

View File

@@ -65,9 +65,9 @@
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-devkit/build-angular:karma",
"options": { "options": {
"main": "src/test.ts", "main": "src/test.ts",
"karmaConfig": "./karma.conf.js", "polyfills": "src/polyfills-test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json", "tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"scripts": [], "scripts": [],
"styles": [ "styles": [
"src/styles.scss" "src/styles.scss"
@@ -97,14 +97,13 @@
} }
}, },
"angular-electron-e2e": { "angular-electron-e2e": {
"root": "", "root": "e2e",
"sourceRoot": "",
"projectType": "application", "projectType": "application",
"architect": { "architect": {
"e2e": { "e2e": {
"builder": "@angular-devkit/build-angular:protractor", "builder": "@angular-devkit/build-angular:protractor",
"options": { "options": {
"protractorConfig": "./protractor.conf.js", "protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "angular-electron:serve" "devServerTarget": "angular-electron:serve"
} }
}, },

View File

@@ -7,7 +7,7 @@ exports.config = {
allScriptsTimeout: 25000, allScriptsTimeout: 25000,
delayBrowserTimeInSeconds: 0, delayBrowserTimeInSeconds: 0,
specs: [ specs: [
'./e2e/**/*.e2e-spec.ts' './**/*.e2e-spec.ts'
], ],
capabilities: { capabilities: {
'browserName': 'chrome', 'browserName': 'chrome',

View File

@@ -30,9 +30,7 @@
"electron:windows": "npm run build:prod && npx electron-builder build --windows", "electron:windows": "npm run build:prod && npx electron-builder build --windows",
"electron:mac": "npm run build:prod && npx electron-builder build --mac", "electron:mac": "npm run build:prod && npx electron-builder build --mac",
"test": "ng test", "test": "ng test",
"pree2e:build": "webdriver-manager update --gecko false && npm run ng serve", "e2e": "ng e2e"
"pree2e:protractor": "wait-on http-get://localhost:4200/ && protractor ./protractor.conf.js",
"e2e": "npm-run-all -p -r pree2e:build pree2e:protractor"
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
@@ -52,7 +50,7 @@
"@ngx-translate/http-loader": "3.0.1", "@ngx-translate/http-loader": "3.0.1",
"@types/jasmine": "2.8.7", "@types/jasmine": "2.8.7",
"@types/jasminewd2": "2.0.3", "@types/jasminewd2": "2.0.3",
"@types/node": "8.0.58", "@types/node": "~8.9.4",
"codelyzer": "4.2.1", "codelyzer": "4.2.1",
"core-js": "2.5.6", "core-js": "2.5.6",
"cross-env": "5.1.5", "cross-env": "5.1.5",
@@ -68,7 +66,7 @@
"karma-coverage-istanbul-reporter": "2.0.0", "karma-coverage-istanbul-reporter": "2.0.0",
"karma-jasmine": "1.1.2", "karma-jasmine": "1.1.2",
"karma-jasmine-html-reporter": "1.1.0", "karma-jasmine-html-reporter": "1.1.0",
"npm-run-all": "4.1.3", "npm-run-all": "^4.1.3",
"npx": "10.2.0", "npx": "10.2.0",
"protractor": "5.3.2", "protractor": "5.3.2",
"replace": "0.3.0", "replace": "0.3.0",

View File

@@ -15,26 +15,12 @@ module.exports = function (config) {
client:{ client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser clearContext: false // leave Jasmine Spec Runner output visible in browser
}, },
files: [
],
preprocessors: {
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: { coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), dir: require('path').join(__dirname, '../coverage'),
reports: [ 'html', 'lcovonly' ], reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true fixWebpackSourcePaths: true
}, },
angularCli: { reporters: ['progress', 'kjhtml'],
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876, port: 9876,
colors: true, colors: true,
logLevel: config.LOG_INFO, logLevel: config.LOG_INFO,

3
src/polyfills-test.ts Normal file
View File

@@ -0,0 +1,3 @@
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';

View File

@@ -7,7 +7,7 @@
"types": [] "types": []
}, },
"exclude": [ "exclude": [
"test.ts", "src/test.ts",
"**/*.spec.ts", "**/*.spec.ts",
"dist", "dist",
"app-builds", "app-builds",

View File

@@ -3,8 +3,6 @@
"compilerOptions": { "compilerOptions": {
"outDir": "../out-tsc/spec", "outDir": "../out-tsc/spec",
"module": "commonjs", "module": "commonjs",
"target": "es5",
"baseUrl": "",
"types": [ "types": [
"jasmine", "jasmine",
"node" "node"
@@ -12,7 +10,7 @@
}, },
"files": [ "files": [
"test.ts", "test.ts",
"polyfills.ts" "polyfills-test.ts"
], ],
"include": [ "include": [
"**/*.spec.ts", "**/*.spec.ts",