Ancestors

Written by Pamela Fox on 2024-12-06 at 23:02

I had a lot of tricky tests to write today that needed mocks against an async SDK.

To get started, I tried out GitHub Copilot "generate tests".

Observations:

=> More informations about this toot | More toots from pamelafox@fosstodon.org

Written by Pamela Fox on 2024-12-06 at 23:03

So I eventually modified most tests to "my style" with monkeypatch.setattr whenever possible.

I'm still grateful for Copilot's help since:

  1. I've now learnt more about how to use MagicMock, for when I need it

  1. sometimes it's less intimidating to edit an existing failed test than to write a brand new one

=> More informations about this toot | More toots from pamelafox@fosstodon.org

Written by Pamela Fox on 2024-12-06 at 23:03

I'm curious what style mocks y'all prefer! should i be magic mocking more??

=> More informations about this toot | More toots from pamelafox@fosstodon.org

Toot

Written by Josh Rivers on 2024-12-07 at 18:16

@pamelafox I’ve done a lot of mocking in Python and other langs and I am changing my practice. Beyond specific types of fault injection or obscure branch behavior checks, I want to be using fakes. A lot of rework in my past could have been avoided if I wrote my tests as integration tests against multiple modules rather than unit tests a function at a time. I am now trying to enable that through accurate behavior fakes at the right levels of my applications so the tests work against a “real” flow of the code (like using moto instead of MagicMock). The Google SDEV handbook has a good section on testing that speaks to this philosophy (it’s a little over-declarative and chest thumping, and written for a Java shop, but the discussion has a lot of insights)

=> More informations about this toot | More toots from joshrivers@techhub.social

Descendants

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113612906779614359
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
265.168562 milliseconds
Gemini-to-HTML Time
1.079676 milliseconds

This content has been proxied by September (3851b).