2016-02-13 39 views
5

我在這裏尋求一些幫助,因爲我無法達成解決方案,我花了這麼多時間在這個。Karma&Jasmine奇怪的行爲,當使用單詞'基'

問題是在業力+茉莉花測試怪異的行爲,最初我認爲這個問題是在AngularJs的代碼,但剝離下來剝離我達到了沒有別的東西要刪除和問題是100%沒有角度。

,我使用實際的代碼是這樣的:

test.js:

'use strict'; 

describe('Unit tests suite', function() { 
    it('test', function() { 
     expect('base').toEqual(''); 
    }); 
}); 

karma.conf.js:

​​

絕對沒有別的。該測試的結果是:

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) 

正如您所看到的,似乎單詞「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前一段時間。

的版本是:

[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 

使用絕對這個詞得到了同樣的行爲,被替換爲空字符串

+0

你有沒有得到任何洞察到這一點? –

+0

我遇到類似的問題,名爲'baseResourceURL'的變量被重命名爲 ResourceURL。 –

+0

我做了進一步的研究,但沒有任何運氣,我認爲問題出現在Karma(跑步者)和集成插件karma-jasmine中。 – Gianmarco

回答

2

我相信它與因果報應默認記者(進度)問題看起來URL_REGEX與基本和絕對匹配,因爲正則表達式的其餘部分是可選的。

var URL_REGEXP = new RegExp('(?:https?:\\/\\/[^\\/]*)?\\/?' + 
    '(base|absolute)' + // prefix 
    '((?:[A-z]\\:)?[^\\?\\s\\:]*)' + // path 
    '(\\?\\w*)?' + // sha 
    '(\\:(\\d+))?' + // line 
    '(\\:(\\d+))?' + // column 
    '', 'g') 

https://github.com/karma-runner/karma/blob/684ab1838c6ad7127df2f1785c1f56520298cd6b/lib/reporter.js#L25