Skip to main content

A pytest-based tool to list test fixtures declared but not used in a test

Project description

loofah

CircleCI

A tool to list test fixtures declared but not used in a test:

image

This tool is actually a pytest plugin, and with some improved packaging could be installed, and then called via the py.test command line.


Features

  • Uses the pytest collection to get a list of tests and available fixtures
  • Parses the code for each function to determine whether fixture arguments are used or not in the test
  • Supports a list of "ignored" fixtures, since some fixtures are only used to create and tear down a particular context, and might not be used directly in the test code

Installation

You can install loofah via pip:

$ pip install loofah

Usage

Since loofah relies on pytest collecting and being able to execute the tests, it needs to be run from your normal development shell, and probably installed in the venv of your project.

So, from your normal development shell, run loofah as you would run your tests: (ie with any required environment variables or virtual environment enabled, etc)

$ loofah test/unit
...
test/unit/account_tests.py:10 in test_account_update_requires_login detected 1 unused fixture:
    user
test/unit/account_tests.py:28 in test_account_locks_after_three_attempts detected 2 unused fixtures:
    user
    monkeypatch

Why 'loofah' ?

Why name this project after a fruit with fibrous, spongy interior often used to clean hard-to-reach areas of the human body? That's a mystery indeed.

License

Distributed under the terms of the MIT_ license, "loofah" is free and open source software

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for loofah, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size loofah-0.2.0-py2-none-any.whl (3.8 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size loofah-0.2.0.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page