logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Drupal 8 մոդուլի թեստավորում

20/06/2025, by Ivan

Մաս VI պրակտիկ ուղեցույց Drupal 8-ի բազային մոդուլներ ստեղծելու համար
.info ֆայլից դեպի թեստեր, միայն հիմունքներ

Եթե դուք սկզբից հետևել եք այս պրակտիկ ուղեցույցին Drupal 8-ի բազային մոդուլներ ստեղծելու համար, հիմա պատրաստ ենք որակի վերահսկման։ Եթե պարզապես ուզում եք սկսել և խաղալ, կարող եք ստանալ Lorum 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-ը թեստերը գործարկում է հատուկ թեստային տվյալների բազայում, որը ստեղծվում է, լրացվում անհրաժեշտության դեպքում և հետո ջնջվում։ Սա նշանակում է, որ կարող եք թեստավորել մշակման, նախապատրաստման և նույնիսկ՝ եթե ցանկանաք, արտադրական միջավայրերում։

Ինչպես տեսնում եք վերևում, թեստերի համար առաջին հերթին կատարվում է նախնական կարգավորում՝ նշելով թեստավորվող մոդուլները (միայն իրականը), ստեղծելով թեստային օգտվող և նրան տալիս անհրաժեշտ թույլտվություններ։

Հետո թեստավորում ենք տեքստի գեներացման վիրտուալ էջի հասանելիությունը՝

/**
   * Թեստում է, որ 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. սեղմեք «Կատարել թեստերը»

Սա այդ դասի համար ամենը։ Եթե ցանկանում եք, կարող եք վերցնել այս կոդի պատճենը Lorem ipsum նախագծի էջից՝ հաշվի առեք, որ պատրաստի տարբերակում ունեք ներկառուցված թեմավորում։ Բացի այդ, եթե ունեք հարցեր, մի հապաղեք գրել ինձ։ Կոդավորումը հաջողակ լինի!

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.