Qunitノート-4を使用して原子性とグループを保持

1760 ワード

原子:
多くのテスト例を一緒にテストすると、相互の副作用でエラーが発生する可能性があります.このときはできるだけtest()にテストしなければならない.
Domに対応するテストは、1回のテストが完了した後にバインドを自動的にクリアするため、できるだけ#qunit-fixtureを使用する必要があります.
QUnit.test( "Appends a div", function( assert ) {

  var $fixture = $( "#qunit-fixture" );

  $fixture.append( "<div>hello!</div>" );

  equal( $( "div", $fixture ).length, 1, "div added successfully!" );

});

 

QUnit.test( "Appends a span", function( assert ) {

  var $fixture = $( "#qunit-fixture" );

  $fixture.append("<span>hello!</span>" );

  assert.equal( $( "span", $fixture ).length, 1, "span added successfully!" );

});

グループ化テスト:
テストを分割した後、論理性を考慮してグループ化する必要がある場合があります.module(「group A」)を使用します.//ここでmoduleを設定すると、このmodule内で設定する方法がこの範囲に固定されます.
QUnit.module( "group a" );

QUnit.test( "a basic test example", function( assert ) {

  assert.ok( true, "this test is fine" );

});

QUnit.test( "a basic test example 2", function( assert ) {

  assert.ok( true, "this test is fine" );

});

 

QUnit.module( "group b" );

QUnit.test( "a basic test example 3", function( assert ) {

  assert.ok( true, "this test is fine" );

});

QUnit.test( "a basic test example 4", function( assert ) {

  assert.ok( true, "this test is fine" );

});


さらに、moduleは、このmodule範囲内の開始および終了時の動作を定義するために、第2のパラメータを設定することもできます:フォーマット
QUnit.module( "module A", {

  setup: function() {

    // prepare something for all following tests

  },

  teardown: function() {

    // clean up after each test

  }

});


範囲は次のmoduleまでです.