QUnit - Mô-đun lồng nhau

Các mô-đun có chức năng kiểm tra được nhóm lại được sử dụng để xác định các mô-đun lồng nhau. QUnit chạy thử nghiệm trên mô-đun mẹ trước khi đi sâu vào các mô-đun lồng nhau, ngay cả khi chúng được khai báo trước. CácbeforeEachafterEachlệnh gọi lại trên một lệnh gọi mô-đun lồng nhau sẽ xếp chồng ở Chế độ LIFO (Lần vào cuối, Lần ra đầu tiên) đối với các móc cha. Bạn có thể chỉ định mã để chạy trước và sau mỗi lần kiểm tra bằng cách sử dụng đối số và móc.

Hook cũng có thể được sử dụng để tạo các thuộc tính sẽ được chia sẻ trên ngữ cảnh của mỗi bài kiểm tra. Bất kỳ thuộc tính bổ sung nào trên đối tượng hooks sẽ được thêm vào ngữ cảnh đó. Đối số hooks là tùy chọn nếu bạn gọi QUnit.module với một đối số callback.

Lệnh gọi lại của mô-đun được gọi có bối cảnh là môi trường thử nghiệm, với các thuộc tính của môi trường được sao chép vào các bài kiểm tra, móc nối và mô-đun lồng nhau của mô-đun.

<html>
   <head>
      <meta charset = "utf-8">
      <title>QUnit basic example</title>
      <link rel = "stylesheet" href = "https://code.jquery.com/qunit/qunit-1.22.0.css">
      <script src = "https://code.jquery.com/qunit/qunit-1.22.0.js"></script>
   </head>
   
   <body>
      <div id = "qunit"></div>
      <div id = "qunit-fixture"></div> 
      <script>
         QUnit.module( "parent module", function( hooks ) {
            hooks.beforeEach( function( assert ) {
               assert.ok( true, "beforeEach called" );
            });

            hooks.afterEach( function( assert ) {
               assert.ok( true, "afterEach called" );
            });

            QUnit.test( "hook test 1", function( assert ) {
               assert.expect( 2 );
            });

            QUnit.module( "nested hook module", function( hooks ) {
               // This will run after the parent module's beforeEach hook
               hooks.beforeEach( function( assert ) {
                  assert.ok( true, "nested beforeEach called" );
               });

               // This will run before the parent module's afterEach
               hooks.afterEach( function( assert ) {
                  assert.ok( true, "nested afterEach called" );
               });

               QUnit.test( "hook test 2", function( assert ) {
                  assert.expect( 4 );
               });
            });
         });
      </script>

      <div id = "console" ></div>
   </body>
</html>

Xác minh đầu ra

Bạn sẽ thấy kết quả sau: