我来这里是为了寻求帮助,因为我无法找到解决方案,而且我花了很多时间在这上面。
问题是业力+茉莉花测试中的一个奇怪的行为,最初我认为问题出在AngularJs代码中,但是通过剥离剥离我达到了没有其他东西可以去除的问题,而且问题是100%没有在角度。
我使用的实际代码是:
test.js:
'use strict';
describe('Unit tests suite', function () {
it('test', function () {
expect('base').toEqual('');
});
});
karma.conf.js:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: ['*.js'],
exclude: [],
preprocessors: {},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
singleRun: false,
})
}
绝对没有别的。该测试的结果是:
13 02 2016 04:32:39.559:WARN [karma]: No captured browser, open http://localhost:9876/
13 02 2016 04:32:39.571:INFO [karma]: Karma v0.13.15 server started at http://localhost:9876/
13 02 2016 04:32:39.578:INFO [launcher]: Starting browser PhantomJS
13 02 2016 04:32:41.248:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket HiC4WW_4235Nlf0rAAAA with id 54292207
PhantomJS 2.1.1 (Mac OS X 0.0.0) Unit tests suite test FAILED
Expected '/Users/Gianmarco/Desktop/test' to equal ''.
/Users/Gianmarco/Desktop/test/test.js:5:31
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.003 secs / 0.003 secs)
正如你所看到的那样,#34; base"正在使用文件夹的路径进行更改。这让我疯了,我无法弄清楚为什么会这样做。
我尝试使用MacOSX和Ubuntu 14.04,结果是一样的。
准备文件夹我做了这个:
mkdir test
cd test
npm install jasmine-core karma-cli karma-jasmine karma-phantomjs-launcher phantomjs-prebuilt --save
karma init
karma start
当然,我的系统前段时间有npm install karma-cli -g
。
版本是:
jasmine-core@2.4.1
karma@0.13.21
karma-cli@0.1.2
karma-jasmine@0.3.7
karma-phantomjs-launcher@1.0.0
phantomjs-prebuilt@2.1.4
使用单词absolute获取相同的行为,将其替换为空字符串
答案 0 :(得分:2)
我相信它是karma(progress)中默认报告者的问题,看起来URL_REGEX匹配base和absolute,因为正则表达式的所有其余部分都是可选的。
var URL_REGEXP = new RegExp('(?:https?:\\/\\/[^\\/]*)?\\/?' +
'(base|absolute)' + // prefix
'((?:[A-z]\\:)?[^\\?\\s\\:]*)' + // path
'(\\?\\w*)?' + // sha
'(\\:(\\d+))?' + // line
'(\\:(\\d+))?' + // column
'', 'g')