Book Image

Drupal 8 Development: Beginner's Guide - Second Edition

By : Neeraj Kumar, Tassos Koutlas, Samuel Keen, Edward Crompton, Krishna Kanth, Rakesh James, Malabya Tewari, Kurt Madel
Book Image

Drupal 8 Development: Beginner's Guide - Second Edition

By: Neeraj Kumar, Tassos Koutlas, Samuel Keen, Edward Crompton, Krishna Kanth, Rakesh James, Malabya Tewari, Kurt Madel

Overview of this book

<p>Drupal is one of the most popular platforms with which to develop websites. With more and more organizations looking to build engaging digital experience for their stakeholders, the Drupal Content Management System offers a mobile-first platform with native support for integrations, better performance, and scalability. The new version brings significant changes to its module development and theme creation techniques, improving performance and refining the development experience.</p> <p>This book will help you develop your own website using Drupal 8 in a step-by-step manner. You’ll start off by setting up your development environment, enabling you to begin writing custom code for a Drupal-powered website through PHPStorm. You will learn about configuration management and creating custom content types before exploring the HTML5 features included with Drupal 8.</p> <p>You will then get familiar with Drupal 8’s mobile-first features, explore the built-in WYSIWYG and in-line editing capabilities of Drupal 8, and enhance the overall authoring experience. Later, you will create and enhance a Media Entity Lightbox module, before taking an in-depth look at the Views module.</p> <p>We then cover some advanced search concepts and walk you through the installation and integration of the Java-based Apache Solr search engine. Finally, you will explore and configure the built-in support for REST and extend its support by installing the RESTful module. By the end of the book, you will have created a recipe sharing website while gaining a solid understanding of development best practices for Drupal 8.</p>
Table of Contents (20 chapters)
Drupal 8 Development Beginner's Guide Second Edition
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Test-driven development (TDD)


Lot of times we hear that Drupal is not a good choice for writing complex web applications. One of the chief reasons is that Drupal doesn't support TTD or automated testing. But in Drupal 8 we have the PHPUnit tests and Simpletest tests in the core.

Drupal 8 is developed keeping in mind the use of automated tests, including unit tests as well as functional tests. Unit test is at the lower level and used primarily to test the functionality of classes, whereas functional test is done at the higher level to check the web output.

Important is run both types of tests for most of the features we develop before making any changes to the existing Drupal system to make sure no existing functionality is breaking up. We also call this regression testing.

To follow TDD, we need to follow these two processes:

  • Whenever you make a patch to fix a bug or to change an existing functionality, make sure to write a test that fails before changes have been in the code and that it passes...