Replies: 5 comments 6 replies
-
I don't disagree; it's important to be able to run subsets of tests on an ad-hoc basis, and I expect I've been personally spoiled by PyCharm so I'm ignorant of many problems in this area. But I'd also like to note that I love that Nox gives a common entry point for developers and the CI - you can run locally exactly what the CI runs, in theory reducing nasty surprises when pushing PR's. |
Beta Was this translation helpful? Give feedback.
-
Oh yeah, I'm not saying we should remove the |
Beta Was this translation helpful? Give feedback.
-
#4192 proposes fixes for this. |
Beta Was this translation helpful? Give feedback.
-
From discussion at #3835 it seems that
? |
Beta Was this translation helpful? Give feedback.
-
Dev guide now recommends |
Beta Was this translation helpful? Give feedback.
-
📰 Custom Issue
If you follow the developer's installation instructions, it tells you to check your environment by running
python setup.py test
, with a link to the main testing page. But the main testing page tells you thatsetup.py test
is deprecated and to usenox
instead.nox
makes its own environments though, so it isn't going to help you test the environment you just installed.When the developers' guide was revamped last year, I really liked that it essentially said "here is a yml file that lets you easily make an environment that contains everything you need for testing". The guidance to use
nox
seems a bit orthogonal to that approach.If I've understood,
nox
is something of a black box that will only run the pre-determined sets of tests. If I do get a test failure, I'd like to investigate it by e.g. poking at objects in an interactive python session, or re-running individual tests. It's not clear to me if and how I can do that withnox
's environments.I did have my first go at running the tests under
nox
yesterday. They seemed to run OK, but I got these errors after each session:nox errors
All of this makes me think we should still be advertising a non-deprecated way to run the tests in a user-controlled environment. #3835 listed a few ways:
python -m iris.tests.runner --default-tests
python -m unittest discover iris
Then there's also
pytest
(though I just tried pointingpytest
at the iris tests in a clean branch and got 6 failures/errors 😢 ). Obviously experienced devs may have their own preferred way to do it, but I think we should advertise something straightforward that newbie devs can just run.Beta Was this translation helpful? Give feedback.
All reactions