QUnit-アサーションの使用
すべてのアサーションはアサートカテゴリにあります。
このカテゴリは、テストの作成に役立つ一連のアサーションメソッドを提供します。失敗したアサーションのみが記録されます。
シニア番号 | 方法と説明 |
---|---|
1 | async() 非同期操作を待つようにQUnitに指示します。 |
2 | deepEqual() プリミティブ型、配列、オブジェクト、正規表現、日付、および関数を処理する、深い再帰的な比較。 |
3 | equal() 厳密ではない比較。JUnitのassertEqualsとほぼ同等です。 |
4 | expect() テスト内で実行されると予想されるアサーションの数を指定します。 |
5 | notDeepEqual() プリミティブ型、配列、オブジェクト、正規表現、日付、および関数を処理する、逆の深い再帰的な比較。 |
6 | notEqual() 不平等をチェックする非厳密な比較。 |
7 | notOk() ブールチェック。ok()とCommonJSのassert.ok()の逆であり、JUnitのassertFalse()と同等です。最初の引数がfalseの場合に渡されます。 |
8 | notPropEqual() オブジェクト自体のプロパティの厳密な比較。不平等をチェックします。 |
9 | notStrictEqual() 厳密な比較、不平等のチェック。 |
10 | ok() CommonJSのassert.ok()およびJUnitのassertTrue()と同等のブールチェック。最初の引数がtrueの場合に渡されます。 |
11 | propEqual() オブジェクト自体のプロパティの厳密な型と値の比較。 |
12 | push() カスタムアサーションの結果を報告します。 |
13 | strictEqual() 厳密なタイプと値の比較。 |
14 | throws() コールバックが例外をスローするかどうかをテストし、オプションでスローされたエラーを比較します。 |
例で上記の方法のほとんどをカバーしてみましょう。
<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.test( "TestSuite", function( assert ) {
//test data
var str1 = "abc";
var str2 = "abc";
var str3 = null;
var val1 = 5;
var val2 = 6;
var expectedArray = ["one", "two", "three"];
var resultArray = ["one", "two", "three"];
//Check that two objects are equal
assert.equal(str1, str2, "Strings passed are equal.");
//Check that two objects are not equal
assert.notEqual(str1,str3, "Strings passed are not equal.");
//Check that a condition is true
assert.ok(val1 < val2, val1 + " is less than " + val2);
//Check that a condition is false
assert.notOk(val1 > val2, val2 + " is not less than " + val1);
//Check whether two arrays are equal to each other.
assert.deepEqual(expectedArray, resultArray ,"Arrays passed are equal.");
//Check whether two arrays are equal to each other.
assert.notDeepEqual(expectedArray, ["one", "two"],
"Arrays passed are not equal.");
});
</script>
</body>
</html>
出力を確認する
次の結果が表示されます-