我的文件夹结构是(我安装了所有正确的npm包)
<TextBox Text="{Binding YourViewModelProperty}" />
我启动我的Krama karma.conf.js 文件,npm test
TextBox
tests.webpack.js
private string _s;
public string YourViewModelProperty
{
get { return _s; }
set { _s = value; Validate(); }
}
karma.conf.js 和 tests.webpack.js 正在运行。 我的spec文件 reactComponent.spec.js 只是一个简单的入门测试
app
|
folder1
reactComponent.js
|
testFolder
reactComponent.spec.js
但是在命令窗口(Windows 10)中我得到了
var webpack = require('webpack');
module.exports = function (config) {
config.set({
singleRun: true,
frameworks: ['jasmine'],
browsers: ['PhantomJS'],
files: [
'tests.webpack.js'
],
preprocessors: {
'tests.webpack.js': [ 'webpack', 'sourcemap' ]
},
reporters: [ 'dots' ],
webpack: {
devtool: 'inline-source-map',
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader' }
]
}
},
webpackServer: {
noInfo: true
}
});
};
有关详细信息,请参阅上文没有什么可看的,也没有生成日志文件。
在 tests.webpack.js 中,如果我将文件夹更改为指向不存在的文件夹
var context = require.context('../app', true, /\*.spec.js$/);
context.keys().forEach(context);
我得到了
describe('Simple test', function() {
it('returns 1 + 1 = 2 ', function() {
expect(2).toEqual(1 + 1);
});
});
所以看来我正在运行测试跑步者。 我的文件夹RegExp是否正确?
我尝试做的是在app的根文件夹下的任何文件夹中运行任何.spec.js文件。
如果在我的 karma.conf.js 文件中,我设置了
D:\development\react\poc9-unittests>npm test
> poc@0.0.0 test D:\development\react\poc9-unittests
> karma start ./testing/karma.conf.js
24 04 2017 11:27:30.822:INFO [karma]: Karma v1.6.0 server started at http://0.0.0.0:9876/
24 04 2017 11:27:30.825:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
24 04 2017 11:27:30.836:INFO [launcher]: Starting browser PhantomJS
24 04 2017 11:27:33.859:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket YzqWwfSyJoA5P4DbAAAA with id 73371783
PhantomJS 2.1.1 (Windows 8 0.0.0): Executed 0 of 0 ERROR (0.001 secs / 0 secs)
npm ERR! Test failed. See above for more details.
我得到更多信息
var context = require.context('../appNonExistentFolder ', true, /\*.spec.js$/);
答案 0 :(得分:1)
这是因为Karma无法找到您的测试;
这可能有不同的原因,首先检查karma.conf.js
中的路径
测试文件中可能存在一些缺失或错位的规格,因此业力将无法执行。如果没有测试导致成功测试的数量为0,则将其读作错误。你可以尝试添加一个虚拟规格,如果它工作。
答案 1 :(得分:1)
啊,我的RegExp中的一个愚蠢的错字
tests.webpack.js 删除*以便它读取
var context = require.context('../app', true, /\.spec.js$/);
context.keys().forEach(context);