前言
對于新手而言,mocha的時序就像謎一般,許多奇怪的測試樣例的失敗都是由于對時序不清楚。下面我就把我在測試工作中總結的時序規則部分與大家共享。
describe里地時序
simple case
describe('work',function(){ it('1',func(){}); it('2',func(){}); ....});//按1,2,3...順序執行
規則1:describe里地it的非異步部分按它們定義的順序執行,它們所觸發的回調的注冊順序也遵從it的注冊順序
hooks
這是比較常用的hooks,我們可以采用hooks改變在describe中的時序,但是記住hooks是在describe的基礎上的,與describe聯系在一起的。hooks對子describe是不起作用的。
describe間的時序
非describe部分
規則2:不被describe包裹的部分執行順序的優先級最高
{block1}describe('1',function(){ ...});{block2}describe('2',func(){..});//執行順序block1,block2,describe1,describe2
并列的describe
規則3:同一層次的describe執行順序遵從它們的定義順序
嵌套的describe
describe('parent',func(){ it('1',func(){..}); describe('child1',func(){...}); it('2',func(){...}); describe('child2',func(){..});});//執行順序為it1,it2,child1,child2
規則4:外層describe的所有it執行優先級高于嵌套的describe
最后我們把這四條規則總結一下
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答