[![Build Status](https://travis-ci.com/ArturSpirin/test_junkie.svg?branch=master)](https://travis-ci.com/ArturSpirin/test_junkie)
[![codecov](https://codecov.io/gh/ArturSpirin/test_junkie/branch/master/graph/badge.svg)](https://codecov.io/gh/ArturSpirin/test_junkie)
[![Maintainability](https://api.codeclimate.com/v1/badges/40b17ed68d5b3eca140b/maintainability)](https://codeclimate.com/github/ArturSpirin/test_junkie/maintainability)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/ArturSpirin/test_junkie/graphs/commit-activity)
[![Known Vulnerabilities](https://snyk.io/test/github/ArturSpirin/test_junkie/badge.svg?targetFile=requirements.txt)](https://snyk.io/test/github/ArturSpirin/test_junkie?targetFile=requirements.txt)
[![PyPI version shields.io](https://img.shields.io/pypi/v/test_junkie.svg)](https://pypi.python.org/pypi/test_junkie/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/test_junkie.svg)](https://pypi.python.org/pypi/test_junkie/)
[![Downloads](https://pepy.tech/badge/test-junkie)](https://pepy.tech/project/test-junkie)
# Test Junkie [![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Test+Junkie+is+one+of+the+most+powerful+testing+frameworks+on+Python+that+you+did+not+hear+of+and+you+are+missing+out!&url=https%3A%2F%2Ftest-junkie.com&hashtags=automation,testing,python&original_referer=https%3A%2F%2Fgithub.com%2F&tw_p=tweetbutton)
[![Test Junkie Logo](https://www.test-junkie.com/static/media/logo.png)](https://www.test-junkie.com/)
## Installation
From your favorite terminal:
`pip install test-junkie` or `python -m pip install test-junkie`
## Basic Usage
Save code bellow into a Python file. Lets say `C:\Development\TestJunkie\demo.py`.
```python
from test_junkie.decorators import Suite, beforeTest, afterTest, test, beforeClass, afterClass
@Suite()
class ExampleTestSuite:
@beforeClass()
def before_class(self):
print("Hi, I'm before class")
@beforeTest()
def before_test(self):
print("Hi, I'm before test")
@afterTest()
def after_test(self):
print("Hi, I'm after test")
@afterClass()
def after_class(self):
print("Hi, I'm after class")
@test()
def something_to_test1(self):
print("Hi, I'm test #1")
@test()
def something_to_test2(self):
print("Hi, I'm test #2")
@test()
def something_to_test3(self):
print("Hi, I'm test #3")
# and to run this marvel programmatically, all you need to do . . .
if "__main__" == __name__:
from test_junkie.runner import Runner
runner = Runner([ExampleTestSuite])
runner.run()
# OR use Test Junkie's CLI: `tj run -s C:\Development\TestJunkie\demo.py`
```
## CLI
Starting from version `0.6a6` there is now full [CLI](https://www.test-junkie.com/documentation/#cli)
support and the above test suite can also be executed with `tj run -s C:\Development\TestJunkie\demo.py`
For more examples, see [CLI documentation](https://www.test-junkie.com/documentation/#cli).
## Output Example
[![Test Junkie Console Output](https://www.test-junkie.com/static/media/console_out.jpg)](https://www.test-junkie.com/static/media/console_out.jpg)
Full documentation is available on **[test-junkie.com](https://www.test-junkie.com/)**
Please [report](https://github.com/ArturSpirin/test_junkie/issues/new?template=bug_report.md) any bugs you find.
**Our Sponsors**
[<img width="270" src="https://www.actocorp.com/wp-content/uploads/2019/02/ActoLogo-red.png">](https://www.actocorp.com)
become our [sponsor](https://www.patreon.com/join/arturspirin?)
Raw data
{
"_id": null,
"home_page": "https://www.test-junkie.com/",
"name": "test-junkie",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "automation,testing,tests,test-runner",
"author": "Artur Spirin",
"author_email": "as.no.replies@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/19/41/c660b550ec8d83f4000f931b92c4d9c28ac2574cd4f798b2a1d1e6cf8f3f/test_junkie-0.8a8.tar.gz",
"platform": null,
"description": "[![Build Status](https://travis-ci.com/ArturSpirin/test_junkie.svg?branch=master)](https://travis-ci.com/ArturSpirin/test_junkie) \n[![codecov](https://codecov.io/gh/ArturSpirin/test_junkie/branch/master/graph/badge.svg)](https://codecov.io/gh/ArturSpirin/test_junkie) \n[![Maintainability](https://api.codeclimate.com/v1/badges/40b17ed68d5b3eca140b/maintainability)](https://codeclimate.com/github/ArturSpirin/test_junkie/maintainability)\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/ArturSpirin/test_junkie/graphs/commit-activity)\n[![Known Vulnerabilities](https://snyk.io/test/github/ArturSpirin/test_junkie/badge.svg?targetFile=requirements.txt)](https://snyk.io/test/github/ArturSpirin/test_junkie?targetFile=requirements.txt) \n[![PyPI version shields.io](https://img.shields.io/pypi/v/test_junkie.svg)](https://pypi.python.org/pypi/test_junkie/) \n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/test_junkie.svg)](https://pypi.python.org/pypi/test_junkie/)\n[![Downloads](https://pepy.tech/badge/test-junkie)](https://pepy.tech/project/test-junkie)\n\n# Test Junkie [![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Test+Junkie+is+one+of+the+most+powerful+testing+frameworks+on+Python+that+you+did+not+hear+of+and+you+are+missing+out!&url=https%3A%2F%2Ftest-junkie.com&hashtags=automation,testing,python&original_referer=https%3A%2F%2Fgithub.com%2F&tw_p=tweetbutton)\n[![Test Junkie Logo](https://www.test-junkie.com/static/media/logo.png)](https://www.test-junkie.com/)\n\n## Installation\n\nFrom your favorite terminal:\n\n`pip install test-junkie` or `python -m pip install test-junkie`\n\n## Basic Usage\n\nSave code bellow into a Python file. Lets say `C:\\Development\\TestJunkie\\demo.py`.\n```python\nfrom test_junkie.decorators import Suite, beforeTest, afterTest, test, beforeClass, afterClass\n\n\n@Suite()\nclass ExampleTestSuite:\n\n @beforeClass()\n def before_class(self):\n print(\"Hi, I'm before class\")\n \n @beforeTest()\n def before_test(self):\n print(\"Hi, I'm before test\")\n \n @afterTest()\n def after_test(self):\n print(\"Hi, I'm after test\")\n \n @afterClass()\n def after_class(self):\n print(\"Hi, I'm after class\")\n \n @test()\n def something_to_test1(self):\n print(\"Hi, I'm test #1\")\n \n @test()\n def something_to_test2(self):\n print(\"Hi, I'm test #2\")\n \n @test()\n def something_to_test3(self):\n print(\"Hi, I'm test #3\")\n \n \n# and to run this marvel programmatically, all you need to do . . .\nif \"__main__\" == __name__:\n from test_junkie.runner import Runner\n runner = Runner([ExampleTestSuite])\n runner.run()\n # OR use Test Junkie's CLI: `tj run -s C:\\Development\\TestJunkie\\demo.py`\n```\n\n## CLI\n\nStarting from version `0.6a6` there is now full [CLI](https://www.test-junkie.com/documentation/#cli) \nsupport and the above test suite can also be executed with `tj run -s C:\\Development\\TestJunkie\\demo.py`\n\nFor more examples, see [CLI documentation](https://www.test-junkie.com/documentation/#cli).\n\n## Output Example\n[![Test Junkie Console Output](https://www.test-junkie.com/static/media/console_out.jpg)](https://www.test-junkie.com/static/media/console_out.jpg)\n\nFull documentation is available on **[test-junkie.com](https://www.test-junkie.com/)** \n\nPlease [report](https://github.com/ArturSpirin/test_junkie/issues/new?template=bug_report.md) any bugs you find.\n\n**Our Sponsors**\n\n[<img width=\"270\" src=\"https://www.actocorp.com/wp-content/uploads/2019/02/ActoLogo-red.png\">](https://www.actocorp.com)\n\nbecome our [sponsor](https://www.patreon.com/join/arturspirin?)\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Modern Testing Framework",
"version": "0.8a8",
"project_urls": {
"Homepage": "https://www.test-junkie.com/"
},
"split_keywords": [
"automation",
"testing",
"tests",
"test-runner"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b4e8e7da8401dd95d3cc1ee4d06a0d65d507f5176504f715bc500fd8186c29e1",
"md5": "30cf182716f10facf55168fd2d3b43d6",
"sha256": "e5bdbbe211c52e764c5404b9a48f8fba5c43dec2abcfb88033fbe8cbc2f39126"
},
"downloads": -1,
"filename": "test_junkie-0.8a8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "30cf182716f10facf55168fd2d3b43d6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 99457,
"upload_time": "2023-08-19T16:27:53",
"upload_time_iso_8601": "2023-08-19T16:27:53.661194Z",
"url": "https://files.pythonhosted.org/packages/b4/e8/e7da8401dd95d3cc1ee4d06a0d65d507f5176504f715bc500fd8186c29e1/test_junkie-0.8a8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1941c660b550ec8d83f4000f931b92c4d9c28ac2574cd4f798b2a1d1e6cf8f3f",
"md5": "75845342d655cf7667fb835adbfc5ce4",
"sha256": "a814fc7b487b598730b156db02049cf11451bd5681730936734ef299ec51b1ab"
},
"downloads": -1,
"filename": "test_junkie-0.8a8.tar.gz",
"has_sig": false,
"md5_digest": "75845342d655cf7667fb835adbfc5ce4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 71516,
"upload_time": "2023-08-19T16:27:55",
"upload_time_iso_8601": "2023-08-19T16:27:55.060116Z",
"url": "https://files.pythonhosted.org/packages/19/41/c660b550ec8d83f4000f931b92c4d9c28ac2574cd4f798b2a1d1e6cf8f3f/test_junkie-0.8a8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-19 16:27:55",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "test-junkie"
}