System test framework.
Project description
Installation
pip install systest
Description
Execute a sequence of test cases in serial and/or parallel.
Test cases in a list are executed in serial and test cases in a tuple are executed in parallel in separate Python threads.
Example usage
See the test suite: https://github.com/eerimoq/systest/blob/master/tests/test_systest.py
For example, the sequence below starts with test case MyTestCase(“1”). When MyTestCase(“1”) has been executed, MyTestCase(“2”) and the list of MyTestCase(“3”) and MyTestCase(“4”) are executed in parallel. When both MyTestCase(“2”) and the list of MyTestCase(“3”) and MyTestCase(“4”) has been executed, MyTestCase(“5”) is executed. Then the sequence ends.
from systest import Sequence, TestCase
class MyTestCase(TestCase):
def __init__(self, name):
super(MyTestCase, self).__init__()
self.name = "my_testcase_" + name
def run(self):
self.log("Hello!")
class MySequence(Sequence):
def __init__(self):
super(MySequence, self).__init__("my_sequence")
def run(self):
self.sequencer.run([
MyTestCase("1"),
(
MyTestCase("2"),
[
MyTestCase("3"),
MyTestCase("4")
]
),
MyTestCase("5")
])
MySequence().execute()
The output is:
Name: my_sequence
Date: 2016-02-02 18:42:40.446213
Node: erik-VirtualBox
User: erik
---------------------------------------------------------------
Name: my_testcase_1
Description:
None
2016-02-02 18:42:40.488127 my_testcase_1 Hello!
my_testcase_1: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_2
Description:
None
2016-02-02 18:42:40.490369 my_testcase_2 Hello!
my_testcase_2: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_3
Description:
None
2016-02-02 18:42:40.491976 my_testcase_3 Hello!
my_testcase_3: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_4
Description:
None
2016-02-02 18:42:40.494298 my_testcase_4 Hello!
my_testcase_4: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_5
Description:
None
2016-02-02 18:42:40.496103 my_testcase_5 Hello!
my_testcase_5: PASSED in 0m 0s
---------------------- Test report begin ----------------------
[
[
my_testcase_1: PASSED,
(
my_testcase_2: PASSED,
[
my_testcase_3: PASSED,
my_testcase_4: PASSED
]
),
my_testcase_5: PASSED
]
]
Execution time: 0m 0s
----------------------- Test report end -----------------------