2013-08-28 76 views
2

我剛開始基於茉莉花的角度種子應用程序的練習測試。當使用在pivotal.github.io/jasmine/上找到的第一個測試示例時,它在我的應用程序上失敗。茉莉花網站上的角度測試教程不起作用

試驗例代碼:

describe("A suite", function() { 
    it("contains spec with an expectation", function() { 
    expect(true).toBe(true); 
    }); 
}); 

但傳遞tryjasmine.com

我爲內容和視圖/分音測試,它們通過。但茉莉花網站上的那個失敗。我是否缺少某些東西或者是否需要設置一些配置?

Karma.conf.js文件:

basePath = '../'; 

files = [ 
    JASMINE, 
    JASMINE_ADAPTER, 
    'app/lib/angular/angular.js', 
    'app/lib/angular/angular-*.js', 
    'test/lib/angular/angular-mocks.js', 
    'app/js/**/*.js', 
    'test/unit/**/*.js' 
]; 

autoWatch = true; 

browsers = ['Chrome']; 

junitReporter = { 
    outputFile: 'test_out/unit.xml', 
    suite: 'unit' 
}; 

噶e2e.conf.js文件:

basePath = '../'; 

files = [ 
    ANGULAR_SCENARIO, 
    ANGULAR_SCENARIO_ADAPTER, 
    'test/e2e/**/*.js' 
]; 

autoWatch = false; 

browsers = ['Chrome']; 

singleRun = true; 

proxies = { 
    '/': 'http://localhost:8000/' 
}; 

junitReporter = { 
    outputFile: 'test_out/e2e.xml', 
    suite: 'e2e' 
}; 
+0

您使用噶是。如果是這樣,請將您的問題設置爲karma.conf.js。 – BKM

+0

測試失敗嗎?或者它根本不運行?你看到茉莉花結果屏幕?我猜你沒有初始化茉莉花。你是否包含這個代碼? http://pivotal.github.io/jasmine/#section-The_Runner_and_Reporter –

+0

@BKM添加了karma.conf代碼 –

回答

2

根據http://pivotal.github.io/jasmine/#section-The_Runner_and_Reporter對文檔的亞軍和記者節有:

document.querySelector('.version').innerHTML = jasmineEnv.versionString();

瀏覽器控制檯引發錯誤

Uncaught TypeError: Cannot set property 'innerHTML' of null

環顧四周後,我發現其他例子沒有這條線。我使用的例子在TUTS + http://net.tutsplus.com/tutorials/javascript-ajax/testing-your-javascript-with-jasmine/

在該教程有SpecRunner.html它的代碼,而無需document.querySelector('.version').innerHTML = jasmineEnv.versionString();

該塊,一切都按預期工作。

1

您使用的舊業力的配置風格。我看到兩個選項

1)你有很舊因緣版本,

2)你想在其上運行舊的配置風格的新的業力。

你應該嘗試因緣升級到最新版本,並遷移您的配置,以新穎的款式,請參見:http://karma-runner.github.io/0.10/config/configuration-file.html

+0

予。更新了配置,但這不是問題。但是,謝謝你將我的注意力帶到了這裏。 –

0

您可以發表評論:

document.querySelector('.version').innerHTML = jasmineEnv.versionString(); 

或者你可以在你的身體補充:

<div class='version'></div>