Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering Angular Test-Driven Development

You're reading from   Mastering Angular Test-Driven Development Build high-quality Angular apps with step-by-step instructions and practical examples

Arrow left icon
Product type Paperback
Published in Oct 2024
Publisher Packt
ISBN-13 9781805126089
Length 246 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Ezéchiel Amen AGBLA Ezéchiel Amen AGBLA
Author Profile Icon Ezéchiel Amen AGBLA
Ezéchiel Amen AGBLA
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Getting Started with Test-Driven Development in Angular FREE CHAPTER
2. Chapter 1: Taking Your First Steps with TDD 3. Chapter 2: Using Jasmine and Karma to Test Angular Applications 4. Part 2: Writing Effective Unit Tests
5. Chapter 3: Writing Effective Unit Tests for Angular Components, Services, and Directives 6. Chapter 4: Mocking and Stubbing Dependencies in Angular Tests 7. Chapter 5: Testing Angular Pipes, Forms, and Reactive Programming 8. Part 3: End-to-End Testing
9. Chapter 6: Exploring End-to-End Testing with Protractor, Cypress, and Playwright 10. Chapter 7: Understanding Cypress and its Role in End-to-End Tests for Web Applications 11. Chapter 8: Writing Effective End-to-End Component Tests with Cypress 12. Part 4: Continuous Integration and Continuous Deployment for Angular Applications
13. Chapter 9: Understanding Continuous Integration and Continuous Deployment (CI/CD) 14. Chapter 10: Best Practices and Patterns for Angular TDD 15. Chapter 11: Refactoring and Improving Angular Code through TDD 16. Index 17. Other Books You May Enjoy

Structuring E2E tests

Cypress tests are structured using the describe(), context(), it(), and specify() functions, which are borrowed from Mocha (Mocha is a feature-rich JavaScript testing framework that runs on Node.js and in the browser, designed to make asynchronous testing simple and enjoyable. It is highly regarded for its versatility in testing applications across both the front- and backends, offering a wide range of benefits to developers). The describe() function is used to group related tests, context() is similar to describe(), and it() and specify() are used to write individual test cases.

We’re going to structure our tests around the functionality of our calculator application. Our calculator performs four operations: addition, subtraction, multiplication, and division. In our e2e folder in the cypress folder, we’ll create a file called calculator.cy.ts :

Figure 8.1 – The calculator.cy.ts file in e2e in the cypress folder

Figure 8.1 – The calculator.cy.ts file in e2e in the cypress folder...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime