Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-229

Python tests should be named test_*.py for pytest support

    XMLWordPrintable

    Details

    • Type: RFC
    • Status: Implemented
    • Resolution: Done
    • Component/s: DM
    • Labels:
      None

      Description

      Now that we’re beginning to use pytest to run unit tests, it makes sense to use pytest’s default test discovery so that simply running py.test (without arguments) will have pytest discover and run all tests in the tests/ directory. Currently we must type py.test tests/*.py.

      We can achieve this simplicity through a coding standard that specifies all Python unit test modules must be named with the test_ pattern:

      tests/test_example.py
      

      (Our current standard is tests/testExample.py. The Python Style Guide implies this style, and the Python Unit Testing guide assumes this naming style.)

      I think this is a straightforward coding style change that will make life easier in the long run.

      Alternative

      An alternative to changing the names of test modules, while still making py.test work without arguments is to add a configuration file to each repo that tells pytest how to find our test modules.

      I don’t recommend this. I think it’s better just to use a correct and consistent naming schema.

        Attachments

          Issue Links

            Activity

            jsick Jonathan Sick created issue -
            jsick Jonathan Sick made changes -
            Field Original Value New Value
            Link This issue relates to RFC-215 [ RFC-215 ]
            jsick Jonathan Sick made changes -
            Link This issue is blocked by DM-8467 [ DM-8467 ]
            jsick Jonathan Sick made changes -
            Resolution Done [ 10000 ]
            Status Proposed [ 10805 ] Adopted [ 10806 ]
            jsick Jonathan Sick made changes -
            Link This issue is triggering DM-9024 [ DM-9024 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-7600 [ DM-7600 ]
            tjenness Tim Jenness made changes -
            Remote Link This issue links to "Page (Confluence)" [ 14907 ]
            jsick Jonathan Sick made changes -
            Remote Link This issue links to "Page (Confluence)" [ 14907 ]
            tjenness Tim Jenness made changes -
            Remote Link This issue links to "Page (Confluence)" [ 15080 ]
            jsick Jonathan Sick made changes -
            Status Adopted [ 10806 ] Implemented [ 11105 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to RFC-370 [ RFC-370 ]

              People

              Assignee:
              jsick Jonathan Sick
              Reporter:
              jsick Jonathan Sick
              Watchers:
              John Parejko, Jonathan Sick, Pim Schellart [X] (Inactive), Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Planned End:

                  Jenkins

                  No builds found.