Я использую Карму и Жасмин, чтобы проверить мой код AngularJS, написанный на Typescript.Ниже приведена моя текущая конфигурация кармы:
// Karma configuration
// Generated on Mon Nov 11 2013 10:04:08 GMT-0600 (Central Standard Time)
//Seperate karma config for Typescript due to module loading
var configApp = require('./gulp/gulp.config.js')();
var clientApp = require('./gulp/gulp.client.js')();
var commonApp = require('./gulp/gulp.common.js')();
module.exports = function (config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
files: [
'node_modules/angular/angular.js',
'node_modules/angular-animate/angular-animate.js',
'node_modules/angular-mocks/angular-mocks.js',
'node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js',
'node_modules/core-js/client/shim.min.js',
'node_modules/d3/d3.js',
'node_modules/jquery/dist/jquery.js',
'node_modules/nvd3/build/nv.d3.js',
'./app_common/globalVariables.test.ts',
'./app_common/app.js',
'./app/app.js',
'./app_common/**/*.ts',
'./app/**/*.js',
'./app/**/*.ts'
],
preprocessors: {
'./app_common/**/*.ts': ['karma-typescript'],
'./app/**/*.ts': ['karma-typescript']
},
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// logLevel: config.LOG_DEBUG,
plugins: [
'karma-chrome-launcher',
'karma-jasmine',
'karma-junit-reporter',
'karma-typescript'
],
// frameworks to use
frameworks: [
'jasmine',
'karma-typescript'
],
karmaTypescriptConfig: {
include: {
mode: "replace",
values: [
"app_common/**/*.ts",
"app/**/*.ts"
]
},
tsconfig: "./tsconfig.json"
},
// test results reporter to use
reporters: [
'progress',
'junit',
'karma-typescript'
],
coverageReporter: {
reporters: [{
type: 'text-summary'
}]
},
junitReporter: {
outputDir: 'KarmaTests/config',
outputFile: 'junit.xml',
suite: 'rft.config.js'
},
// web server port
port: 9877,
// enable / disable watching file and executing tests whenever any file changes
browsers: ['ChromeHeadless'],
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 60000,
browserNoActivityTimeout: 30000
});
};
При выполнении моих тестов я получаю следующую ошибку:
{
"message": "An error was thrown in afterAll\nUncaught TypeError: fs.readFileSync is not a function",
"str": "An error was thrown in afterAll\nUncaught TypeError: fs.readFileSync is not a function"
}
Однако, выполняя поиск кода в моем app
и каталоги app_common
не позволяют использовать fs.readFileSync
, и я относительно уверен, что код библиотеки, переданный из node_modules
, также не делает этого (хотя, если честно, я не проверял явно).Без трассировки стека или чего-либо еще мне трудно определить, откуда эта ошибка.Кто-нибудь видел это или знает, как получить трассировку стека?