Book Image

Rapid Application Development with AWS Amplify

By : Adrian Leung
Book Image

Rapid Application Development with AWS Amplify

By: Adrian Leung

Overview of this book

AWS Amplify is a modern toolkit that includes a command line interface (CLI); libraries for JS, iOS, and Android programming; UI component libraries for frameworks like React, Angular, and Vue.js for web development, and React Native and Flutter for mobile development. You'll begin by learning how to build AWS Amplify solutions with React and React Native with TypeScript from scratch, along with integrating it with existing solutions. This book will show you the fastest way to build a production-ready minimum viable product (MVP) within days instead of years. You'll also discover how to increase development speed without compromising on quality by adopting behavior-driven development (BDD) and Cypress for end-to-end test automation, as well as the Amplify build pipeline (DevOps or CI/CD pipeline) to ensure optimal quality throughout continuous test automation and continuous delivery. As you advance, you'll work with React to determine how to build progressive web apps (PWAs) with Amplify and React Native for cross-platform mobile apps. In addition to this, you'll find out how to set up a custom domain name for your new website and set up the AWS Amplify Admin UI for managing the content of your app effectively. By the end of this AWS book, you'll be able to build a full-stack AWS Amplify solution all by yourself.
Table of Contents (14 chapters)
Section 1: Getting Ready
Section 2: Building a Photo Sharing App
Section 3: Production Readiness

Chapter 8: Test Automation with Cypress

In this chapter, we will learn how to add test automation to our Amplify apps with Cypress. The AWS Amplify team announced that they added the test phase to the build pipeline of Cypress in late 2019, which set themselves apart from the competition. Many might argue that end-to-end (e2e) test automation requires a lot of effort to maintain, but e2e test automation has actually become much easier to implement than ever before.

Before we talk about end-to-end test automation, we should talk about Behavior-Driven Development (BDD). BDD is a way to shorten the feedback loop for the development cycle with e2e test automation. BDD is also known as Specification by Example and Executable Specification. Earlier in this book, we had to write specification documentation for the development team to write code and then let the testing team test the system manually. This may still sound familiar to many companies. But in the last 10 years, technology...