{ "info": { "author": "Sergey Ragatsky", "author_email": "serg@taykey.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Other Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Testing" ], "description": "nose-ittr\n=========\nnose extension for supporting parametrized testing.\n---------------------------------------------------\nAllows developer to run the same test over and over again using different values\n\nMain Features:\n * Very easy to integrate with existing tests\n * Saves a lot of boilerplate code, and code replication\n * Work with all nose plugins (including multiprocessing)\n * Customize setup per test, by using this package built-in nose plugin setup-ittr\n\nInstallation:\n-------------\n\n.. code-block:: shell\n\n pip install nose_ittr\n\nBasic usage:\n------------\n\n.. code-block:: python\n\n import math\n\n from nose.tools import assert_equal, assert_not_equal\n from nose_ittr import IttrMultiplier, ittr\n\n class TestFoo(object):\n \n __metaclass__ = IttrMultiplier\n \n def setup(self):\n if hasattr(self, 'value'):\n self.value += 3\n \n def teardown(self):\n pass\n \n @ittr(number=[1, 2, 3, 4])\n def test_even(self):\n assert_equal(self.number % 2, 0) \n \n @ittr(numerator=[15, 6], denominator=[2, 3])\n def test_no_remainder(self):\n assert_equal(self.numerator % self.denominator, 0)\n\n @ittr(value=[4, 14])\n def test_prime_with_custom_setup(self):\n for i in range(3, int(math.sqrt(self.value))):\n assert_not_equal(self.value % i, 0)\n\n.. code-block:: shell\n\n nosetests --with-setup-ittr [for setup customization support]\n\nresult:\n \n.. code-block:: shell\n\n TestFoo.test_even_1 ... FAIL\n TestFoo.test_even_2 ... .ok\n TestFoo.test_even_3 ... FAIL\n TestFoo.test_even_4 ... .ok\n TestFoo.test_no_remainder_2_6 ... .ok\n TestFoo.test_no_remainder_2_15 ... FAIL\n TestFoo.test_no_remainder_3_6 ... .ok\n TestFoo.test_no_remainder_3_15 ... .ok\n TestFoo.test_prime_with_custom_setup_14 ... ok\n TestFoo.test_prime_with_custom_setup_4 ... ok\n\n\n**Notes:**\n * Doesn't affect test docstring if used with -v parameter.\n\nTo change the docstring printout based on the varibales passed to test, use the plugin \n`nose-docstring-modifier `_.\n\n:Authors:\n Sergey Ragatsky \n:Contributors: \n Niv Mizrahi\n\n Tal Ben Basat\n\n Nicole Franco \n\n Roy Klinger \n \n Maroun Maroun\n\n\n0.0.1 (2014-11-26)\n------------------\n* Initial release\n\n\n0.0.2 (2014-11-27)\n------------------\n* Added nose plugin to the package\n to support setup customization per test\n\n0.0.3 (2014-11-27)\n------------------\n* Error handling for nose plugin\n* Typo fix\n* Support using new.classob\n\n0.0.4 (2014-12-02)\n------------------\n* New feature, that allows decorating all class method with '__ittr__' hook", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/taykey/nose-ittr", "keywords": "nose nosetest docstring metaclass parametrized testing plugin", "license": "Apache Software License", "maintainer": null, "maintainer_email": null, "name": "nose_ittr", "package_url": "https://pypi.org/project/nose_ittr/", "platform": "any", "project_url": "https://pypi.org/project/nose_ittr/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/taykey/nose-ittr" }, "release_url": "https://pypi.org/project/nose_ittr/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "nose expansion for supporting parametrized testing", "version": "0.0.4" }, "last_serial": 1328101, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "1f1185c9bfb6e9430584a5ed66e436a4", "sha256": "389047dbe2f74e308c5aa708114cb062a6f839cfbe1d7dea644b9605469533d7" }, "downloads": -1, "filename": "nose_ittr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1f1185c9bfb6e9430584a5ed66e436a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3663, "upload_time": "2014-11-26T13:49:15", "url": "https://files.pythonhosted.org/packages/88/d3/88eace1ac6e3ac88287bdc99c87eb0da7214a62cf2481831818e73bf4aa3/nose_ittr-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4aee3b8783d02b098be00ad54748171e", "sha256": "af3855cd6cd00d44fa5bb5debaa702ab5e35069d895d256719e415bcf0cf69b1" }, "downloads": -1, "filename": "nose_ittr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4aee3b8783d02b098be00ad54748171e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4336, "upload_time": "2014-11-27T14:19:42", "url": "https://files.pythonhosted.org/packages/d7/76/b449fd22009540bb0f384d83f041ac1848c14f7c20d4f7f217cd677542d6/nose_ittr-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "997945e638e1e9c0b23f5a4a42673240", "sha256": "658a4ad2d3e841a67aa139f5498f2656269d106681b00c6eb8ac8f8f1f7a03cd" }, "downloads": -1, "filename": "nose_ittr-0.0.3.tar.gz", "has_sig": false, "md5_digest": "997945e638e1e9c0b23f5a4a42673240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4455, "upload_time": "2014-11-27T17:28:13", "url": "https://files.pythonhosted.org/packages/6a/7b/199dcffe709fa368feb4f5310f005459fdf1b6605846d84eed3231dc635a/nose_ittr-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f8027a6b2e46008d19830331835d59da", "sha256": "79b3f480c3040c9a67b8e12e97f17aac37f365e32a4208ed275b920dfc2ea8f2" }, "downloads": -1, "filename": "nose_ittr-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f8027a6b2e46008d19830331835d59da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4602, "upload_time": "2014-12-02T13:20:57", "url": "https://files.pythonhosted.org/packages/e6/9d/9dca6de03280fceabade4c02c6cb35892d072e9712d1b33a3bccac118d15/nose_ittr-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f8027a6b2e46008d19830331835d59da", "sha256": "79b3f480c3040c9a67b8e12e97f17aac37f365e32a4208ed275b920dfc2ea8f2" }, "downloads": -1, "filename": "nose_ittr-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f8027a6b2e46008d19830331835d59da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4602, "upload_time": "2014-12-02T13:20:57", "url": "https://files.pythonhosted.org/packages/e6/9d/9dca6de03280fceabade4c02c6cb35892d072e9712d1b33a3bccac118d15/nose_ittr-0.0.4.tar.gz" } ] }