I am trying to run some unit tests for few days now without success. My application is written in typescript (the unit tests are written in typescript as well). Here is my karma configuration file:
module.exports = function (config) {
config.set({
basePath: "../../../../",
frameworks: [
"jasmine",
"systemjs"
],
browsers: ['PhantomJS'],
singleRun: true,
reporters: ['progress'],
systemjs: {
config: {
paths: {
systemjs: "src/main/webapp/static/js/engage/lib/bower/system.js/dist/system.src.js",
typescript: "build/node_modules/typescript/lib/typescript.js"
},
transpiler: "typescript"
},
// testFileSuffix: ".spec.ts"
},
files: [
'src/main/webapp/static/js/engage/dist/vendor/vendor.min.js',
'src/main/webapp/static/js/engage/lib/bower/system.js/dist/system-polyfills.src.js',
'src/main/webapp/static/js/engage/lib/bower/angular-mocks/angular-mocks.js',
{pattern: "src/main/webapp/static/js/engage/app/**/*.spec.ts", served: true, included: false}
]
});
};
When I run karma start
I get the following error:
05 09 2016 21:39:45.543:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/
05 09 2016 21:39:45.546:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
05 09 2016 21:39:45.558:INFO [launcher]: Starting browser PhantomJS
05 09 2016 21:39:47.631:INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket /#c-ZoxCczyYymPDAtAAAA with id 8911412
05 09 2016 21:39:47.650:WARN [web-server]: 404: /base/src/main/webapp/static/js/engage/lib/bower/system.js/dist/system-polyfills.js
PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
You need to include some adapter that implements __karma__.start method!
If I change the browser property to Chrome, I get the following error:
Chrome 52.0.2743 (Mac OS X 10.11.6) ERROR
Error: ReferenceError: jasmineRequire is not defined
at eval (build/node_modules/karma-jasmine/lib/boot.js:14:32)
at eval (build/node_modules/karma-jasmine/lib/boot.js:41:2)
Evaluating build/node_modules/karma-jasmine/lib/boot.js
Error loading build/node_modules/karma-jasmine/lib/boot.js
Here is my package.json relevant dependencies:
"phantomjs": "^1.9.11",
"karma-systemjs": "^0.14.0",
"karma-jasmine": "^1.0.2",
"karma-chrome-launcher": "^0.1.5",
"jasmine-core": "^2.5.0"
Any help would be appreciated!