通过编辑
test/unit/index.js
测试/单元/索引.js
. 以下代码
import Vue from 'vue'
Vue.config.productionTip = false
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs/players/OutcomeAnalyzerPlayer/setRangesAccordingToFilters/afterPreflop1', true, /afterFlop1\.spec\.js/)
testsContext.keys().forEach(testsContext)
// require all src files except main.js for coverage.
// you can also change this to match only the subset of files that
// you want coverage for.
const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
srcContext.keys().forEach(srcContext)
请注意,我最初尝试使用
require.context
-
require.context('./specs/players/OutcomeAnalyzerPlayer/setRangesAccordingToFilters/afterPreflop1/afterFlop1.spec.js', true, /\.spec$/)
-不会有用的。第一个论点是
,不是文件。第二个参数是指示是否也应该搜索子目录的标志,第三个参数是匹配文件的正则表达式。
我最初试图创建一个不同的文件来代替
并将其包含在
files
而不是
./index.js
. 为什么我得到
SyntaxError: Use of reserved word 'import'
错误是因为
import
preprocessors
数组输入
karma.conf.js
files: [
'../../node_modules/jquery/dist/jquery.min.js',
'../../node_modules/babel-polyfill/dist/polyfill.js',
// './index.js'
'./set-ranges-according-to-filters.js'
],
preprocessors: {
'./index.js': ['webpack', 'sourcemap'],
'./set-ranges-according-to-filters.js': ['webpack', 'sourcemap']
},
直接将文件包含在
文件夹
直接将文件包含在
文件夹
数组而不是
files: [
'../../node_modules/jquery/dist/jquery.min.js',
'../../node_modules/babel-polyfill/dist/polyfill.js',
// './index.js'
'../../src/services/monkey-patches.js',
'./specs/players/OutcomeAnalyzerPlayer/setRangesAccordingToFilters/afterPreflop1/afterFlop1.spec.js'
],
不过,有两个警告(我可以想到):
1) 使用
包括其他规范和src文件。直接添加文件而不是使用
/索引.js
,其他文件无法加载,这可能会导致文件损坏。对我来说是这样的,我不得不在这个过程中添加一些东西
文件夹
在我的规范前面排列,让它工作。
2) 我需要添加以下内容到
数组:
preprocessors: {
// './index.js': ['webpack', 'sourcemap'],
'../../src/services/monkey-patches.js': ['webpack', 'sourcemap'],
'./specs/players/OutcomeAnalyzerPlayer/setRangesAccordingToFilters/afterPreflop1/afterFlop1.spec.js': ['webpack', 'sourcemap']
},
使用命令行
karma run -- --grep=testDescriptionFilter
approach
工作。当我跑的时候
karma run --help
和
karma start --help
,我看不到任何运行特定文件测试的选项。
package.json
使用不同的配置文件运行测试。如。
karma-1.conf.js
将运行的测试
file-1.spec.js
npm run unit-1
karma start test/unit/karma-1.conf.js
:
{
"scripts": {
"unit-1": "karma start test/unit/karma-1.conf.js"
}
}