{"id":15472052,"url":"https://github.com/pganssle/nose-matching","last_synced_at":"2025-03-18T11:14:08.079Z","repository":{"id":66144868,"uuid":"55524931","full_name":"pganssle/nose-matching","owner":"pganssle","description":"Plugin for the the nose test runner allowing for granular test selection.","archived":false,"fork":false,"pushed_at":"2016-04-05T16:45:09.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-24T17:34:37.124Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pganssle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-05T16:42:39.000Z","updated_at":"2016-04-05T16:42:59.000Z","dependencies_parsed_at":"2023-02-22T01:16:24.771Z","dependency_job_id":null,"html_url":"https://github.com/pganssle/nose-matching","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pganssle%2Fnose-matching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pganssle%2Fnose-matching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pganssle%2Fnose-matching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pganssle%2Fnose-matching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pganssle","download_url":"https://codeload.github.com/pganssle/nose-matching/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244207746,"owners_count":20416109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T02:25:01.108Z","updated_at":"2025-03-18T11:14:08.073Z","avatar_url":"https://github.com/pganssle.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"nose-matching is a plugin for the [`nose`](https://nose.readthedocs.org/en/latest/) that allows for granular filtering of tests, allowing you to specify filters for tests using different matching logic for classes, directories, files, functions, methods and modules. These are applied *on top* of the normal `--match`, `--include` and `--exclude` logic.\n\n## Installation\nAs this is a plugin for [`nose`](https://nose.readthedocs.org/en/latest/), you should install that module first before this plugin. This is an alpha version and has not been released on PyPi yet. For now, you can install it by cloning the git repository and running the following command from the root directory:\n\n```\npython setup.py install\n```\n\n## Use\n\nOnce installed, use the `--with-matching` flag to activate the matching plugin, then use one of the `--match-x` switches with a regular expression to match at the level you want. The options are:\n\n```\nOptions:\n  --with-matching       Enable plugin Matching: (no help available)\n                        [NOSE_WITH_MATCHING]\n  --match-class=CLASS_MATCH_STR\n                        Regular expression to select valid classes.\n  --match-dir=DIR_MATCH_STR\n                        Regular expression to select valid directories.\n  --match-file=FILE_MATCH_STR\n                        Regular expression to select valid files.\n  --match-function=FUNCTION_MATCH_STR\n                        Regular expression to select valid functions.\n  --match-method=METHOD_MATCH_STR\n                        Regular expression to select valid methods.\n  --match-module=MODULE_MATCH_STR\n                        Regular expression to select valid modules.\n```\n\nAs an example, consider a test suite arranged as such:\n\n```\ntest_foo.py\n|-- FooTests\n| |-- testConstructor\n| |-- testRepr\n| |-- testAddition\n| |-- testSubtraction\n| +-- testBug117\n|\n|-- BarTests\n| |-- testConstructor\n| |-- testRepr\n| |-- testAddition\n| |-- testSubtraction\n| |-- testBug247\n| +-- testBug738\n```\n\nIf you are are working on overhauling `Foo`, you may not want to run the `BarTests` suite each time, so you can use:\n\n```\nnosetests --with-matching --match-class BarTests\n```\n\nIf you just want to run all the addition tests, you can use\"\n\n```\nnosetests --with-matching --match-method testAddition\n```\n\nIf you want to run all bug-related tests, you can use:\n\n```\nnosetests --with-matching --method-match testBug*\n```\n\n## License\nThis code is licensed under the [MIT License](https://opensource.org/licenses/MIT). It is also available under the MIT License with a waiver of the copyright notice requirement.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpganssle%2Fnose-matching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpganssle%2Fnose-matching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpganssle%2Fnose-matching/lists"}