我目前正在构建一个Angular库,我希望能够运行一些测试。在遵循these指示之后,我设法正确地设置了一切,并且实际上能够运行我的测试。为角库设置Karma
主要问题
虽然一切运行正常尴尬的事情发生了。当我在.ts
文件旁边运行npm test
时,会生成一个.js
文件。正常情况下,所有d.ts
和一个大.js
文件进入使用库使用项目的dist
文件夹中。那么是否有人知道从哪里可以生成这些JavaScript文件,以及是否确实需要这些文件,因为所有这些代码已经存在,可以在dist文件夹中说。
奖金问题
不与上述一样重要,所有的测试结果被显示在终端,而浏览器仅显示:
噶V1.4.1 - 连接 铬61.0。 3163(Mac OS X 10.12.6)空闲
那么是否有一个很好的修复方法来显示我的测试,就像angular-cli
开箱即用?
注意在做完作业后,我没有发现网上有相关的东西,我也不想上传一堆不愉快的jsons。如果有人对这个问题的方向有一个想法,我会很乐意包含代码。 karma.config.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'karma-typescript'],
files: [
'init-test-bed.spec.ts',
'src/**/*.ts'
],
exclude: [
],
preprocessors: {
'**/*.ts': ['karma-typescript']
},
karmaTypescriptConfig: {
bundlerOptions: {
entrypoints: /\.spec\.ts$/,
transforms: [
require('karma-typescript-angular2-transform')
]
},
compilerOptions: {
lib: ['ES2015', 'DOM']
}
},
reporters: ['progress', 'karma-typescript'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
})
}
tsconfig.json
{
"compilerOptions": {
"baseUrl": "./src",
"experimentalDecorators": true,
"moduleResolution": "node",
"rootDir": "./src",
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2015",
"dom"
],
"skipLibCheck": true,
"types": [
"jasmine",
"node"
]
}
}
最后test
运行该脚本
被this
编辑生成我的图书馆的基本结构
"test": "tsc && karma start"
你使用角度cli吗?你能分享你的业力配置文件吗?并且当你运行'npm test'时,在你的package.json文件中执行的命令是什么 –
@AirirDhaDas我使用角度cli来运行库的应用程序,而不是库。对于文件看看我的编辑。 – Thodoris
看到我的回答,你没有使用'@ angular/cli'框架,所有'ts'文件都是单独编译的。所以在你的tsconfig.josn中加入'outDir':“../ out-tsc/spec”应该把所有的ts文件编译成js文件并把它加入到一个文件夹中,你也可以放入一个文件。在google中搜索该选项 –