2014-07-02 64 views
18

當我使用我的應用程序的角度JS測試量角器和目前所面對的約19測試例,其中一人是失敗如何用量角器

describe('Login page', function() { 

beforeEach(function() { 
    browser.ignoreSynchronization = true; 
    ptor = protractor.getInstance(); 
}); 

it('should contain navigation items', function(){ 
    //test case code here 
}); 

it('should login the user successfully', function(){ 
    //test case code here 
}) 
}); 

目前運行單個具體的測試用例,我運行了所有的測試用例。但是,如何運行一個測試用例來調試問題,例如描述爲「登錄頁面應該成功登錄用戶」的問題?

+1

我想通了,我們就可以利用量角器--specs選擇在一個單一的文件運行規範。有什麼辦法可以運行一個測試用例嗎? –

回答

24

Protractor最新版本(至少)支持通常的Jasmine方法:將describe()函數重命名爲ddescribe(),並且只有其中的測試纔會運行。或者將it()函數重命名爲iit(),只有這個測試會運行。

+0

謝謝!它爲我工作。但是,我所看到的一個問題是,當我運行測試時,它實際上只執行一個測試用例。我可以從斷言算起並看看UI。但是,報告顯示它確實運行了套件中的所有測試。 –

+0

例如:當我有一個測試用例的iit和「8個測試,20個斷言,0個失敗」的時候,我的報告會說「8個測試,1個斷言,0個失敗」,當我運行它們時沒有一個iit。當我們添加一個iit時,有什麼辦法可以使測試的no顯示爲「1 test,1 assertion 0 failures」? –

+0

我想你應該向量角器提交一個錯誤。 –

3

也許你應該把測試分成不同的套件。然後,你可以運行: 量角器測試/量角器,conf.js --suite例如

27

茉莉花2.1添加fitfdescribe運行單一測試或描述塊。

http://pivotallabs.com/new-key-features-jasmine-2-1/

此功能幾乎是在2.0版本中做到了。現在足夠的這個功能是爲了支持合適的和fdescribe專注的規格 和套件運行。

從2.1混帳的lib /茉莉核心/ jasmine.js

var jasmineInterface = { 
describe: function(description, specDefinitions) { 
    return env.describe(description, specDefinitions); 
}, 

xdescribe: function(description, specDefinitions) { 
    return env.xdescribe(description, specDefinitions); 
}, 

fdescribe: function(description, specDefinitions) { 
    return env.fdescribe(description, specDefinitions); 
}, 

it: function() { 
    return env.it.apply(env, arguments); 
}, 

xit: function() { 
    return env.xit.apply(env, arguments); 
}, 

fit: function() { 
    return env.fit.apply(env, arguments); 
}, 
+3

接受的答案不適用於我,但這是的 – RoberMP

+0

接受的答案和問題是舊的,他們是爲茉莉花1.x –