QUnit - Modul Bersarang
Modul dengan fungsi pengujian yang dikelompokkan digunakan untuk mendefinisikan modul bersarang. QUnit menjalankan pengujian pada modul induk sebelum membahas lebih dalam yang bersarang, bahkan jika mereka dideklarasikan terlebih dahulu. ItubeforeEach dan afterEachcallback pada panggilan modul bersarang akan ditumpuk dalam Mode LIFO (Last In, First Out) ke kait induk. Anda dapat menentukan kode yang akan dijalankan sebelum dan sesudah setiap pengujian menggunakan argumen dan kait.
Hooks juga dapat digunakan untuk membuat properti yang akan dibagikan pada konteks setiap pengujian. Properti tambahan apa pun pada objek hooks akan ditambahkan ke konteks itu. Argumen hooks bersifat opsional jika Anda memanggil QUnit.module dengan argumen callback.
Callback modul dipanggil dengan konteks sebagai lingkungan pengujian, dengan properti lingkungan disalin ke modul tes, hook, dan bersarang.
<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>
Verifikasi Output
Anda harus melihat hasil berikut -