Blog Posts by Date | tag: 'pytest'


Better parameterized pytests with dataclasses


September 14, 2023 / 23 min read / 5,755 views, 7 likes, 0 comments


pytest_dataclasses

Parameterization is a powerful tool in pytest (the most popular Python testing framework). It allows us to write a single, simple test that can dynamically expand to become many similar tests with minor input differences. In this blog post, I will describe how to write parameterized pytests and why they are such a powerful tool. And then, I'll show you how to re-write parameterized tests more effectively using dataclasses.

Read more...

End-to-end website testing with Playwright


July 20, 2022 / 26 min read / 7,414 views, 3 likes, 0 comments


Playwright logo

We all know testing our code is important, right? Automated tests can give peace of mind that our code is working as expected and that it continues to work as expected, even as it is refactored. Python has the pytest framework that offers great tools for testing our backend python code. You can check out my blog post, 9 pytest tips and tricks to take your tests to the next level, to get yourself jump-started testing in python. And javascript has several libraries to test front-end code. But in website testing, how can we write automated tests to ensure that our back-end code (be it python or something else) is working with our front-end code (javascript, HTML, and CSS)?

Introducing Playwright, a fast, easy-to-use, and powerful end-to-end browser automation framework. Similar to the Selenium framework, the Playwright framework has tools that allow us to write tests and scripts that act similar to an actual, human website user. And Playwright has API endpoints in javascript, java, .NET, and python! Sound useful? Read on as we use Playwright with python and pytest to write scripts and end-to-end tests for our Connect 4 game web page.

Read more...

9 pytest tips and tricks to take your tests to the next level


July 12, 2021 / 34 min read / 17,581 views, 10 likes, 5 comments


pytest

Are you a python developer looking to improve your testing abilities with pytest? Me too! So I've put together a list of 9 tips and tricks I've found most useful in getting my tests looking sharp. Here are the features we're going to be covering today:

  1. Useful command-line arguments
  2. skip and xfail
  3. Mocking with monkeypatch
  4. tmp_path and importlib
  5. fixtures and the conftest.py file
  6. Testing python exceptions
  7. Checking stdout and log messages
  8. Parameterizing tests
  9. Using pytest-cov

Read more...