我目前正在構建一個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中搜索該選項 –