On April 18, 2018 11:53:01 AM GMT+02:00, Baptiste Jonglez <[email protected]> wrote: >Hi, > >Does anyone have experience with unit tests for python packages? It's >really useful to spot missing runtime dependencies, but it's a pain to >get >to work. > >Here is what I saw: > >1) just running "python -m unittest discover" or "nosetests" or >equivalent > in the check() function does not work, because the package is not yet > installed (so all imports will fail) > >2) setuptools is supposed to have a unittest integration such that > "python setup.py test" should work out of the box, but in my case it > never finds any tests to run > >3) I've seen some more... "creative" solutions :) >https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/python-coverage#n28 > >So far, the only working solution I found is playing with PYTHONPATH: > > cd "$srcdir/$pkgname-$pkgver/tests" > export PYTHONPATH="$srcdir/$pkgname-$pkgver/src" > python -m unittest discover > >But it's a hack, and it probably won't work with things like 2to3. > >Any better ideas? >Baptiste
If you use a build function there shouldn't be any problems like 2to3 while running tests, everything should be converted / build and generated for the use of tests. For certain upstream test setups there won't be much you can do other then PYTHONPATH but as mentioned with a build function it should always work. You can give python-pytest-runner a go, it does proper resolution while running "python setup.py test" but requires certain ways the whole test suites are wired. Cheers Levente

