Skip to content

Adopt py.test  #3835

@bjlittle

Description

@bjlittle

⚙ Feature Request

There are currently a few approaches to running the iris tests as a developer:

  1. using the bespoke iris.tests.runner e.g., python -m iris.tests.runner --default-tests
  2. using the test command from setuptools e.g., python setup.py test
  3. using unittest e.g., python -m unittest discover iris

These are all perfectly functional approaches, for now, to take to run the iris tests. However, there are a few problems with each approach, namely:

  1. iris.tests.runner mechanism is bespoke and heavily relies on nose, which has been in maintenance mode for several years now i.e., it's dead-end technology 💣. Also using this mechanism is causing issues for automatically collating testing coverage statistics.
  2. the use of the test command in setuptools was deprecated in version 41.5.0, (latest 50.3.0) and will be withdrawn in a future version i.e., the future is closer than you think
  3. ummm unittest isn't pytest, not even close 😉

Motivation

It's high time that iris adoped a modern, robust, sustainable, actively supported and scalable approach to testing through pytest and pytest-xdist... before it's too late, and this becomes a much bigger issue than it needs to be i.e., let's agree to plan to avoid this crisis... before it's a crisis.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions