parkouss/funq

Extract nose plugin into separate package?

Opened this issue · 3 comments

Currently funq is strongly coupled with nose, but actually the core functionality (libFunq / server / client) is independent of nose and could also be used with other testing frameworks (or even without any testing framework, but for automating applications with a python script or so). At LibrePCB I use funq with pytest instead of nose because I feel much more comfortable with pytest, but it was a bit a mess to do so because funq is not designed for to be used without nose.

IMHO we could move the nose plugin into a separate package (e.g. funq-nose or nose-funq) and make the funq client completely independent of any testing framework. Or are there other opinions/ideas?

That makes a lot of sense to me, and I too use pytest instead of nose from quite some time now. I like the idea of having some other packages (or maybe using extras, https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies) to ease the use of some test backend. Nose is there, would be fine to have a pytest plugin or something too.

Hi guys,
I'm interested in using funq for some QML testing, but I would like to use pytest instead of nose, since I'm reading that you already have something on your side, I'm curious to know how you achieved that and if you started anything migrating the nose dependency into a separate package so pytest could be implemented the same way.

Thanks!

Hi @jacquesknipper,

I didn't start moving the nose dependency into a separate package, I just worked around this issue in my conftest.py: https://github.com/LibrePCB/LibrePCB/blob/master/tests/funq/conftest.py

As far as I remember, it was basically a matter of building the ApplicationContext manually...