zoukankan      html  css  js  c++  java
  • 10.测试用例的钩子

    转自:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

    Mocha在describe块之中,提供测试用例的四个钩子:before()after()beforeEach()afterEach()。它们会在指定时间执行。

    
    describe('hooks', function() {
    
      before(function() {
        // 在本区块的所有测试用例之前执行
      });
    
      after(function() {
        // 在本区块的所有测试用例之后执行
      });
    
      beforeEach(function() {
        // 在本区块的每个测试用例之前执行
      });
    
      afterEach(function() {
        // 在本区块的每个测试用例之后执行
      });
    
      // test cases
    });
    

    进入demo06子目录,可以看到下面两个例子。首先是beforeEach的例子beforeEach.test.js

    
    // beforeEach.test.js
    describe('beforeEach示例', function() {
      var foo = false;
    
      beforeEach(function() {
        foo = true;
      });
    
      it('修改全局变量应该成功', function() {
        expect(foo).to.be.equal(true);
      });
    });
    

    上面代码中,beforeEach会在it之前执行,所以会修改全局变量。

    另一个例子beforeEach-async.test.js则是演示,如何在beforeEach之中使用异步操作。

    
    // beforeEach-async.test.js
    describe('异步 beforeEach 示例', function() {
      var foo = false;
    
      beforeEach(function(done) {
        setTimeout(function() {
          foo = true;
          done();
        }, 50);
      });
    
      it('全局变量异步修改应该成功', function() {
        expect(foo).to.be.equal(true);
      });
    });
  • 相关阅读:
    A. Maze
    A. Ice Skating (联通块)
    A. DZY Loves Chessboard (找到一个涂一个)
    C. Kefa and Park
    A. Party
    N皇后问题
    八皇后问题
    A. DZY Loves Sequences
    A. Reorder the Array (二分变形)
    BZOJ1681 [Usaco2005 Mar]Checking an Alibi 不在场的证明
  • 原文地址:https://www.cnblogs.com/sharpest/p/8183274.html
Copyright © 2011-2022 走看看