2016-07-18 56 views

回答

1

每個測試用例都以it("", function(){ /* write test code here */ })代碼塊開始。

如果您正在執行一些測試設置,如插入數據,那麼您可以使用before函數來完成這些操作。

例子:

describe("TEST",function() { 
    before(function() { 
     // runs before all tests in this block 
    }); 
    it("should blah", function(done) { 
     // Your test case starts here. 
    } 
} 

有在摩卡的官方網站,你可以參考的例子;

參見:
https://mochajs.org/

+0

讓我知道這是否正常工作。很高興幫助進一步。 –

+0

謝謝!這before()函數是我在找的東西。 – antoinecsk

1

所以,感謝你的答案和一些研究,我能夠做到的正是我想要的。

describe("TRANSACTIONS TESTS",function() { 

var offers; 

before(function(done) { 
    Offer.find({},{_id:1, title:1}).exec(function(error, result) { 
     offers = result; 
     done(); 
    }); 
}); 


it("TEST ALL OFFERS", function(done) { 

    for (var i = 0; i < offers.length; i++) { 

     const tmp_i = i; 

     server 
      .post('/transactions') 
      .send(data) 
      .expect("Content-type",/json/) 
      .expect(200) 
      .end(function(err,res) { 

       // DO TEST STUFF HERE 

       if (tmp_i == offers.length - 1) { 
        done(); 
       } 
      }); 

    } 
}); 

的常量變量是必要的,以避免錯誤(我是恆等於陣列,而不是增加的最大尺寸)

+0

努力工作。看起來不錯。 –