logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल
03/10/2025, by Ivan

Menu

Drupal 8 बेसिक मॉड्यूल्स बनाने की प्रैक्टिकल गाइड का भाग VI
.info से लेकर टेस्ट तक, केवल बेसिक्स

अगर आप शुरू से इस प्रैक्टिकल गाइड को फॉलो कर रहे हैं, तो अब हम क्वालिटी कंट्रोल के लिए तैयार हैं। अगर आप सीधे प्रयोग करना चाहते हैं, तो आप Lorem ipsum मॉड्यूल Drupal से डाउनलोड कर सकते हैं।

आइए यह जांचते हैं कि मॉड्यूल सही से काम कर रहा है या नहीं, इसके लिए हम कुछ कस्टम टेस्ट लिखेंगे जिन्हें Drupal के अंदर ही चलाया जा सकता है।

/tests/src/Functional/LoremIpsumTest.php

<?php

namespace Drupal\Tests\loremipsum\Functional;

use Drupal\Tests\BrowserTestBase;

/**
 * Lorem Ipsum मॉड्यूल के लिए टेस्ट्स।
 *
 * @group loremipsum
 */
class LoremIpsumTests extends BrowserTestBase {

  /**
   * इंस्टॉल किए जाने वाले मॉड्यूल्स।
   *
   * @var array
   */
  protected static $modules = array('loremipsum');

  /**
   * एक साधारण यूज़र।
   *
   * @var \Drupal\user\Entity\User
   */
  private $user;

  /**
   * हर टेस्ट मेथड से पहले चलने वाले प्रारंभिक सेटअप कार्य।
   */
  public function setUp() {
    parent::setUp();
    $this->user = $this->drupalCreateUser(array(
      'administer site configuration',
      'generate lorem ipsum',
    ));
  }
}

टेस्टिंग की शुरुआत BrowserTestBase क्लास को एक्सटेंड करने से होती है। ध्यान देने योग्य बात यह है कि Drupal टेस्ट्स को एक अलग टेस्ट डेटाबेस में चलाता है, जो जरूरत के हिसाब से बनाया और भरा जाता है और बाद में डिलीट हो जाता है। इसका मतलब है कि आप डेवलपमेंट, स्टेजिंग और यहां तक कि (अगर आप साहसी हैं!) प्रोडक्शन एन्वायरनमेंट्स पर भी टेस्ट कर सकते हैं।

जैसा कि ऊपर देखा जा सकता है, पहला कदम मॉड्यूल को परिभाषित करना, एक टेस्ट यूज़र बनाना और आवश्यक परमिशन्स देना है।

इसके बाद हम dummy टेक्स्ट जेनरेशन पेज को टेस्ट करते हैं:

/**
   * टेस्ट करता है कि Lorem ipsum पेज एक्सेस हो सकता है।
   */
  public function testLoremIpsumPageExists() {
    // लॉगिन करें।
    $this->drupalLogin($this->user);

    // जेनरेटर टेस्ट:
    $this->drupalGet('loremipsum/generate/4/20');
    $this->assertSession()->statusCodeEquals(200);
  }

और कॉन्फ़िगरेशन फॉर्म:

  /**
   * कॉन्फ़िग फॉर्म का परीक्षण।
   */
  public function testConfigForm() {
    // लॉगिन करें।
    $this->drupalLogin($this->user);

    // कॉन्फ़िग पेज एक्सेस करें।
    $this->drupalGet('admin/config/development/loremipsum');
    $this->assertSession()->statusCodeEquals(200);
    // टेस्ट करें कि फॉर्म एलिमेंट्स मौजूद हैं और डिफ़ॉल्ट्स सेट हैं।
    $config = $this->config('loremipsum.settings');
    $this->assertSession()->fieldValueEquals(
      'page_title',
      $config->get('loremipsum.page_title'),
    );
    $this->assertSession()->fieldValueEquals(
      'source_text',
      $config->get('loremipsum.source_text'),
    );

फिर हम टेस्ट करते हैं कि कॉन्फ़िगरेशन फॉर्म सबमिट किया जा सकता है:

   // फॉर्म सबमिशन टेस्ट।
    $this->drupalPostForm(NULL, array(
      'page_title' => 'Test lorem ipsum',
      'source_text' => 'Test phrase 1 \nTest phrase 2 \nTest phrase 3 \n',
    ), t('Save configuration'));
    $this->assertSession()->pageTextContains('The configuration options have been saved.');

और नए मान मौजूद हैं यह सुनिश्चित करें:

    // नए मान टेस्ट करें।
    $this->drupalGet('admin/config/development/loremipsum');
    $this->assertSession()->statusCodeEquals(200);
    $this->assertSession()->fieldValueEquals(
      'page_title',
      'Test lorem ipsum',
    );
    $this->assertSession()->fieldValueEquals(
      'source_text',
      'Test phrase 1 \nTest phrase 2 \nTest phrase 3 \n',
    );
  }

}

टेस्ट चलाने के लिए:
1. CORE, Testing और Development, और Lorem ipsum मॉड्यूल्स को सक्षम करें
2. जाएँ admin/config/development/testing
3. “Loremipsum” टेस्ट चुनें
4. “Run tests” पर क्लिक करें

और इस लेसन के लिए बस इतना ही! यदि आप चाहें, तो Lorem ipsum प्रोजेक्ट पेज से कोड की एक कॉपी लें — ध्यान रखें कि मौजूदा डेवलपर वर्ज़न में बिल्ट-इन थीमिंग शामिल है। और अगर आपके कोई प्रश्न हैं, तो लिखने में संकोच न करें। हैप्पी कोडिंग!