[Qgis-user] How do people unit test plugin code?
Alessandro Pasotti
apasotti at gmail.com
Thu Sep 24 00:45:04 PDT 2020
On Thu, Sep 24, 2020 at 9:36 AM Ian Turton <ijturton at gmail.com> wrote:
>
> I was toying with refactoring my plugin code the other day, but I thought I would add some unit tests using pytest before I started to make sure I didn't break anything. But when I try something like:
>
> def test_convertGridRef():
> QgsExpression.registerFunction(convertGridRef)
> e = QgsExpression('convertGridRef("SE2720")')
> assert e.evaluate(None) == 'POINT (427000 420000)'
>
> e.evaluate returns None - when it should either return a point or an exception
>
> Does anyone have some good plugin unit test examples I can take a look at?
>
Hi Jan,
There are many possible approaches to plugin testing, one of the most
interesting IMO is to use the testing docker which allows you to run
the tests inside a real QGIS instance and not a mocked one.
You can find examples of this setup in
https://github.com/inasafe/inasafe/blob/develop/.travis.yml and there
is some documentation in
https://github.com/qgis/QGIS/tree/master/.docker#running-unit-tests-inside-qgis
Hope this helps.
--
Alessandro Pasotti
QCooperative: www.qcooperative.net
ItOpen: www.itopen.it
More information about the Qgis-user
mailing list