2016-02-13 22 views
5

Jestem tutaj, aby poprosić o pomoc, ponieważ nie mogę osiągnąć rozwiązania i spędziłem tyle czasu na tym.Dziwne zachowanie Karma i Jasmine, gdy używasz słowa "baza"

Problem jest dziwnym zachowaniem w testach karmy + jaśminu, początkowo myślałem, że problem jest w kodzie AngularJs ale, rozbierając się przez rozebranie, dotarłem do punktu, w którym nie ma nic do usunięcia, a problem jest w 100% nie w kanciastym.

Rzeczywisty kod, który używam to:

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, 
    }) 
} 

absolutnie nic innego. Wynik tego badania jest:

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) 

Jak widać wydaje się, że słowo „podstawowy” jest zmieniany na ścieżkę folderu. To sprawia, że ​​tracę rozum, nie mogę zrozumieć, dlaczego tak się dzieje.

Próbowałem zarówno z MacOSX i Ubuntu 14.04, a wynik jest taki sam.

Aby przygotować folder Zrobiłem to:

mkdir test 
cd test 
npm install jasmine-core karma-cli karma-jasmine karma-phantomjs-launcher phantomjs-prebuilt --save 
karma init 
karma start 

i oczywiście mój system miał npm install karma-cli -g jakiś czas temu.

Wersje są:

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

To samo zachowanie uzyskuje się używając słowa absolutny, który jest zastępowany pustym ciągiem

+0

Czy kiedykolwiek któryś wgląd w to? –

+0

Występuje podobny problem, w którym zmienna o nazwie "baseResourceURL" jest przemianowana na <ścieżka folderu podstawowego> ResourceURL. –

+0

Zrobiłem badania dalej, ale bez szczęścia, myślę, że problem tkwi w karmie (biegacz) i wtyczce integracyjnej karma-jaśmin. – Gianmarco

Odpowiedz

2

wierzę jej problem z domyślnym reportera w karmie (Progress) wygląda na to, że URL_REGEX pasuje zarówno do podstawowego, jak i bezwzględnego, ponieważ cała reszta regex jest opcjonalna.

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