pistar: functional testing with Python
Project description
The pistar is a simple and lightweight function testing tool, using pistar testing framework can quickly complete the development and execution of test cases.
Basic introduction
Command entry:
$ pistar usage: pistar [options] <command> <args> positional arguments: run Execute test cases generate Generate interface test cases optional arguments: -v, --version Show the version of pistar -h, --help Show help message
Simple test example:
from pistar import BaseTestCase, teststep
class ExampleTestCase(BaseTestCase):
def setup(self):
print('ExampleTestCase setup...')
@teststep
def step_basic_assert(self):
self.assert_that(100).is_type_of(int, float).is_less_than(200)
self.assert_that([1, 2, 3]).contains(4)
def teardown(self):
print('ExampleTestCase teardown...')
Execution and output:
$ pistar run /test/example.py collecting... collected 1 test case --------------------------------------------------- ExampleTestCase start --------------------------------------------------- ExampleTestCase setup... [2021-08-23 16:57:54,121] [ERROR] [**/_pistar/utilities/testcases/case.py:142] @teststep def step_basic_assert(self): self.assert_that(100).is_type_of(int, float).is_less_than(200) > self.assert_that([1, 2, 3]).contains(4) ^^^ E expect [1, 2, 3] to contain 4, but it did not /test/example.py:15 AssertionContainsException ExampleTestCase teardown... ---------------------------------------------------- ExampleTestCase end ---------------------------------------------------- ===================================================== test summary info ===================================================== FAILED /test/example.py::ExampleTestCase ===================================================== 1 failed in 0.03s =====================================================
Features
Test cases can be flexibly composed by pre step, test step and post step
Various test step usage, such as timeout control and parameterization
Rich streaming assertion and error log output
Support session level pre and post conditions
Compatible with pytest case execution
Automatic generation of basic test cases
Some features of pistar refer to unittest and pytest.
License
Copyright (c) Huawei Technologies Co., Ltd. 2020-present.
Distributed under the terms of the MIT license, pistar is free software.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pistar-2.1.0-py3-none-any.whl
.
File metadata
- Download URL: pistar-2.1.0-py3-none-any.whl
- Upload date:
- Size: 89.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77d08499350eb5d9df86cce08c91e37e8aaec8932a61e8b7446bad8f56a34273 |
|
MD5 | e2bd8d9dcd89da1dee9c5c84dab7722f |
|
BLAKE2b-256 | fcf0ce3ecf8740a0db1ddd0703c7f95284a7aff3a1409938d63487866fdec6f6 |