165 - Flaky Tests

14/07/2022 23 min Temporada 4 Episodio 165

Listen "165 - Flaky Tests"

Episode Synopsis

Changelog

I’ve sorted the Kubernetes ingress controller for the staging deployment of howtocodewell.net
I’ve got a few problems with connecting services outside of the Kubernetes cluster but I am working my way through those.
I’ve been updating the pipelines to allow for certain manual jobs in GitLab.

News/articles
Python ASGI The future of Python Web Development
A new asynchronous standard for Python web applications.
WSGI = Web Server Gateway Interface
ASGI = Asynchronous Server Gateway Interface
https://www.infoworld.com/article/3658336/asgi-explained-the-future-of-python-web-development.html
Podcast 2.0
I have my eye on the podcast 2.0 movement and may start to add some backlog tickets to investigate what is involved from a technical standpoint to updating the RSS feeds.
https://medium.com/@everywheretrip/an-introduction-to-podcasting-2-0-3c4f61ea17f4

The Podcast Index
Podcasting Namespace
PodPing
Value-For-Value

Send Symfony logs to Slack
This could be a neat little future video tutorial. I could also do something similar with a Discord bot.
https://manyou.blog/send-symfony-logs-to-slack-with-symfony-notifier-as-a-monolog-handler

What’s a flaky test
A flaky test is a test that sometimes passes and sometimes fails. This usual happens randomly and is incredibly annoying.
What causes flaky tests

Under powered resources
Tests running in random order
Tests not cleaning themselves up afterwards
External programs or requests interfering with the tests

How to fix flaky tests

Run tests more regularly
Separate flaky tests and run them in isolation until fixed
Only test what is needed based on what has changed
Don’t ignore or skip tests if you can help it
Check the environment
Check inputs for non-deterministic values
Check timeouts
Check system resources
Check for race conditions
Check if there is any fixed order to the tests
Keep your tests maintained.