What you'll learn:
- Learn the ins and outs of Pytest
- Build a real world Django web server
- Build a continuous integration system
- Testing Best Practices
- Build high-performing, reliable automated test suites
- Allure Reporting
- Slack messaging
- Unit, Integration, E2E, performance tests
- Mocking and Patching
This is a MUST course for anyone who cares about testing.
I teach the ins and outs of pytest while building a real-world Django application (including a continuous integration system in bitbucket).
In this course, we will build a very simple Django server, I will teach just enough Django so that we will be able to build the application and then focus on testing it.
We will together test the application from all angels - Unit tests, integration tests, APItests, end-to-end tests , and performance tests with (a total of over40 tests)
You will end up with a complete CIsystem that integrates bitbucket cloud pipelines, slack messaging, and allure reporting.
Every time we will make a push, the CIsystem will run our tests and will notify us if the build passed/failed.
In this course, we go in-depth, and we will even implement together (from scratch) some of pytest's features so that we will know what happens under the hood when pytest is running our tests.
This is not an entry-level course; basic knowledge of python is needed
You will learn:
Pytest features (in-depth)
Fixtures
Markers
Parametrize
Skip, xfail
Pytest.ini
Pytest-django
Pytest-cov
pytest-xdist
unittest library, mocks
Requests library
Django (just enough to build a web server)
Rest API
Models, Migrations
Views
Serializers
SQLite3 DB
Email backends
Continuous Integration (in-depth)
Bitbucket pipelines
Bitbucket environment variables
Parallel steps
Docker
Slack messaging integration
Allure Reporting
Testing (In-depth)
Unit tests
Mocking. Patching, Stubs
Integration tests
Performance tests
Testing environments
Python best practice
Virtual environments: pipenv
Pipfile
Type hinting
Black formatter
.env File
Recreating react our projects UI(No prior knowledge is needed