Protractor is dead, long live Cypress! – Part 1

On 24th April, Angular announced the deprecation of their E2E testing tool protractor. It was unclear if there will be a successor or if Angular delegates this to its users. At the time of this writing, WebDriver.IO, TestCafé and Cypress came up with schematics for the Angular CLI.

In this article, I will provide a short overview over the differences between the various E2E frameworks, argue why you should use Cypress and – in the second part – help you with the first steps.

If you prefer watching over reading, then this recording of my talk is for you: read more

Angular E2E: Protractor is dead, long live Cypress

In April this year, even before the release of Angular 12, it became clear what we knew all along. Angular is going to drop Protractor, which has been the official e2e tool since the days of AngularJs.

Although there is no official successor yet and maybe there never will, there is one tool that shines before all others: Cypress.

In this talk, you will get an introduction to Cypress. You will learn how it works, how to use it, and also about its pitfalls. With Cypress, we have finally e2e tests that don’t fail and we can trust. read more

Cypress & Databases

We all know the problem. A test causes some changes in our database. These changes can break the following tests. Not the nicest thing to do. Unfortunately, we can’t just always mock the database as we can in Unit Tests. So we have to find other ways.

This talk is about various strategies for how to set up our tests so that they have the least possible effect on others.

Why you don’t need Web Components in Angular

Why you do not need web components

Web Components do not deliver on their promises. I wrote this essay for developers who are evaluating web components or are wondering what went wrong with the web components they already use. I will explain the reasons web components fail and pinpoint the few application types where web components make sense to use.

ngrx Best Practices (German)

This talk (in German) is about best practices in ngrx. For example, it shows how to implement caching, make use the facade pattern and what to do, if the structure of the state is incompatible with the one of the component.