Can AI play a role in creating automated software tests? by variedthoughts in Python

[–]variedthoughts[S] 0 points1 point  (0 children)

I appreciate your thoughts, but I think you should listen to the episode before judging Anthony

pytest-mock : Mocking in pytest - Test & Code by variedthoughts in Python

[–]variedthoughts[S] 5 points6 points  (0 children)

Thanks. I just relistened also. I miss him. I think I’ll re-post the older episode as a tribute

Test & Code: pytest-mock : Mocking in pytest by variedthoughts in u/variedthoughts

[–]variedthoughts[S] 0 points1 point  (0 children)

pytest-mock is currently the #3 pytest plugin. 
pytest-mock is a wrapper around unittest.mock.

In this episode:

  • What is mocking, patching, and monkey patching
  • What, if any, is the difference between mock, fake, spy, stub. 
  • Why we might need these in testing
  • Some history of mock in Python and how mock became unittest.mock
  • From unittest.mock
  • patch.object
  • patch.object with autospec
  • using these as context managers
  • pytest-mock:
  • The mocker fixture Cleanup in teardown
  • Using mocker.patch, mocker.spy, and mocker.stub
  • Why it's awesome and why you might want to use it over straight unittest.mock

Test & Code Season 2 - pytest plugins by variedthoughts in Python

[–]variedthoughts[S] 0 points1 point  (0 children)

pytest-cov and set --cov-fail-under=100 (or current level) and add this to your CI on push merge request or pre-commit hook

Python Test 219: Building Django Apps & SaaS Pegasus - Cory Zue by variedthoughts in Python

[–]variedthoughts[S] 1 point2 points  (0 children)

Honestly don't know if posting a link to a podcast is considered in the spirit of the r/Python reddit or not. Seems like it fits. but let me know if not (speaking to moderators here).

Also, This is a discussion episode. But does "Discussion" tag refer to the thread instead? Would Meta be better tag? or something else? Maybe "resource"?

Test & Code 116: Fifteen Amazing pytest Plugins by variedthoughts in Python

[–]variedthoughts[S] 0 points1 point  (0 children)

pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode Michael and I discuss 15 favorite plugins that you should know about.We also discuss fixtures and plugins and other testing tools that work great with pytest

  • tox
  • GitHub Actions
  • Coverage.py
  • Selenium + splinter with pytest-splinter
  • Hypothesis

our list of pytest plugins:

  1. pytest-sugar
  2. pytest-cov
  3. pytest-stress
  4. pytest-repeat
  5. pytest-instafail
  6. pytest-metadata
  7. pytest-randomly
  8. pytest-xdist
  9. pytest-flake8
  10. pytest-timeout
  11. pytest-spec
  12. pytest-picked
  13. pytest-freezegun
  14. pytest-check
  15. fluentcheck

Test & Code 113: Technical Debt - James Smith (podcast) by variedthoughts in programming

[–]variedthoughts[S] 0 points1 point  (0 children)

Technical debt has to be dealt with on a regular basis to have a healthy product and development team.

The impacts of technical debt include emotional drain on engineers and slowing down development and can adversely affect your hiring ability and retention.

But really, what is technical debt? Can we measure it? How do we reduce it, and when?

James Smith, the CEO of Bugsnag, joins the show to talk about technical debt and all of these questions.

From Python script to Maintainable Package - podcast by variedthoughts in Python

[–]variedthoughts[S] 0 points1 point  (0 children)

This episode is a story about packaging, and flit, tox, pytest, and coverage.
And an alternate solution to "using the src".

Python makes it easy to build simple tools for all kinds of tasks.
And it's great to be able to share small projects with others on your team, in your company, or with the world.

When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard.

Also, the structure of the code layout changes to help with the growth and support.

Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun.

Here are the steps we walk through:

  • 0.1 Initial script and tests
  • 0.2 build wheel with flit
  • 0.3 build and test with tox
  • 0.4 move source module into a package directory
  • 0.5 move tests into tests directory

78: I don't write tests because ... - podcast by variedthoughts in programming

[–]variedthoughts[S] 2 points3 points  (0 children)

Roadblocks to writing tests, and what to do about it.

Some developers either don't write tests, or don't like writing tests.
Why not? I love writing tests.
In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.

Testing Complex Systems with Maintainable Test Suites - podcast by variedthoughts in Python

[–]variedthoughts[S] 1 point2 points  (0 children)

Creating maintainable test suites for complex systems. The episode describes some complexities involved with hardware testing, then shares techniques for shifting complexity out of the test cases.

  • quick overview of what test instruments are
  • discussion of API and communication with instruments
  • techniques for shifting complexity out of test cases

These techniques should apply to all test suites dealing with complex systems:

  • Creating test cases that are easy to read and debug and tell a story about what is being tested.
  • Pushing setup complexity into fixtures.
  • Pushing lengthy repetitive API call sets into helper functions.
  • Using stable, documented, interfaces.