我有一個,我想之前的所有測試案例(文件)運行鉤「之前」,理想的情況將被運行一次且僅一次不管多少測試用例和前鉤前測試用例我運行。所有測試用例摩卡
現在我要做的就是把那個勾在一個單獨的文件,「之前」和做「規定(」 ../ beforeAll.js「)」,在每個測試文件的開頭,
//beforeAll.js
before('description', function(done) {
//do something
done()
}
//all test files
require('../beforeAll.js')
//test
//......
我認爲每次運行測試文件時都會運行「before」鉤子,但我不知道更好的方法來完成它。但是,當我運行所有測試用例時,「before」鉤子實際上只運行一次。
所以我的問題是,掛鉤只運行一次,爲什麼「之前」?在這種情況下最好的方法是什麼(只運行一次)?
謝謝你,所以如果我想它的每個測試文件運行前,我應該作出必要的文件beforeEach?有沒有更好的方式來做到這一點,而不是在每個文件中加入require? – Keming
是的,如果你想在每次測試之前做到這一點,你可以在所需文件中使用beforeEach()。 **個人**如果我使用'beforeEach()'而不是'before()',我會在每個測試文件中使用它。這會導致重複的代碼,但它強調'beforeEach()'對於該組測試是唯一的。無論哪種方式都可以正常工作,並且存儲代碼的位置取決於您。只要記住'require()'就像一個PHP include()';它只是基本上將文件A中的內容複製到文件B :) –
哦,我認爲beforeEach()將在每個測試CASE之前運行,但不是在每個測試FILE之前運行,那麼在每個文件之前有什麼辦法做? – Keming