Basically, tox and therefore pytest is run from the project root directory, which happens to have the docwriter module-directory. Python by default has the current directory in the import path. pytest will collect the tests and run them — when they import docwriter, they will actually import the module-directory in the project root! You however want to test the package as installed by tox somewhere in .tox/…. Stepping out of the root directory, e.g. into the tests directory ensures this.
Well, if I cd into tests/ (with changedir), I'm getting a bunch of import errors. This is because now the tests don't know where 'docwriter' is (outer directory). I'm confused, please advise.
I think that helped you find a bug in your packaging :) The tests should find a docwriter module because that’s what tox installs in the testenv. Look into what is actually getting installed deep in .tox. |