> On Jun 26, 2023, at 4:17 PM, Merlijn van Deen (valhallasw)
> <valhall...@arctus.nl> wrote:
>
> , there is a massive value in tests that test the integration with Wikimedia
> wikis: it's great if mocked API calls work, but if it breaks against the real
> API, Pywikibot is not doing its job for the user. Unfortunately that does
> mean the contents of the wiki now are a dependency for the test as well.
I certainly agree that integration tests are useful. Even essential. But,
there's two different things here. One is talking to another piece of software
over a network connection vs using a mocked test fixture. Mocks are great for
some things, but utterly fail at demonstrating that you actually understand the
API you're talking to (which is so often the case with a complex API like
MediaWiki).
The orthogonal problem is depending on whatever data happens to be in the
database of the thing you're talking to vs setting up the test conditions when
you run the test. That's the bigger issue here. It doesn't matter if you're
talking unit tests, integration tests, or anything else, If the outcome of your
test depends on whatever some random person on the internet happened to do
yesterday, it's hopeless.
Overall, I suspect the right path forward is spinning up a live server in a
docker container combined with each test instantiate the required content as
part of the test setup (and cleaning it up during teardown). Unfortunately, my
understanding of docker is rudimentary at best, so engineering such an
environment is beyond me.
_______________________________________________
pywikibot mailing list -- pywikibot@lists.wikimedia.org
Public archives at
https://lists.wikimedia.org/hyperkitty/list/pywikibot@lists.wikimedia.org/message/HQ2H4ZA6VQHTSONBLGVLBOLQIAAML4BS/
To unsubscribe send an email to pywikibot-le...@lists.wikimedia.org