具有串行和并行执行的系统测试框架。

systest的Python项目详细描述


buildstatus

安装

pipinstallsystest

说明

以串行和/或并行方式执行一系列测试用例。

列表中的测试用例以串行方式执行,测试用例以元组方式执行 在单独的python线程中并行执行。

这个框架是在考虑集成/系统测试的情况下创建的。这个 框架不是用来替代unittest,但是 而不是作为它的补充。

文档:http://systest.readthedocs.org/en/latest

示例用法

请参见测试套件: https://github.com/eerimoq/systest/blob/master/tests/test_systest.py

例如,下面的序列从测试用例开始 MyTestCase("1")。当执行MyTestCase("1")时, MyTestCase("2")MyTestCase("3")的列表 MyTestCase("4")并行执行。当两者都 MyTestCase("2")MyTestCase("3")的列表 MyTestCase("4")已执行,MyTestCase("5")是 执行。然后序列结束。

importloggingfromsystestimportTestCase,Sequencer,configure_loggingLOGGER=logging.getLogger(__name__)# Define a testcase.classMyTestCase(TestCase):"""Test case description.

    """def__init__(self,name):super(MyTestCase,self).__init__()self.name="my_testcase_"+namedefrun(self):LOGGER.info("Hello!")self.assert_equal(1,1)self.assert_true(1==1)self.assert_in(1in[1,2])self.assert_none(None)withself.assert_raises(RuntimeError)ascm:raiseRuntimeError('foo')self.assert_equal(str(cm.exception),'foo')# Configure the logging module.configure_logging()sequencer=Sequencer("my_sequence")# Run the sequence.sequencer.run([MyTestCase("1"),(MyTestCase("2"),[MyTestCase("3"),MyTestCase("4")]),MyTestCase("5")])# Print the report.sequencer.report()

输出为:

Name: my_sequence
Date: 2016-02-02 18:42:40.446213
Node: erik-VirtualBox
User: erik

---------------------------------------------------------------

Name: my_testcase_1
Description:

    Test case description.

Hello!

my_testcase_1: PASSED in 0m 0s

---------------------------------------------------------------

Name: my_testcase_2
Description:

    Test case description.

Hello!

my_testcase_2: PASSED in 0m 0s

---------------------------------------------------------------

Name: my_testcase_3
Description:

    Test case description.

Hello!

my_testcase_3: PASSED in 0m 0s

---------------------------------------------------------------

Name: my_testcase_4
Description:

    Test case description.

Hello!

my_testcase_4: PASSED in 0m 0s

---------------------------------------------------------------

Name: my_testcase_5
Description:

    Test case description.

Hello!

my_testcase_5: PASSED in 0m 0s

---------------------- Test summary 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
Result: PASSED (passed: 5, failed: 0, skipped: 0, xpassed: 0, xfailed: 0)

----------------------- Test summary end -----------------------

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
日期和现在之间的Java时间   java以适当的方式更新jLabel和jTextField   java如何从PQ(单链表)中删除最大值   java可以通过任何方式找出哪些NSF文件属于Domino服务器   java Velocity 2不会设置属性   如何使用java流迭代索引映射列表   maven依赖项在编译期间工作,但在java运行时失败。lang.NoClassDefFoundError&java。lang.ClassNotFoundException   java有没有办法完全隐藏Web应用程序代码?   Android appcompat v7 21库中的java FadingActionBar错误   Eclipse/com中的java AdMob。谷歌。安卓gms。ads.AdView   java My Service表示它正在运行,但其状态尚不清楚,似乎没有绑定   java无法启动Apache Tomcat Web应用程序容器   JDK:java中的命名约定。可丢弃的   Spring SerSecurity中的java身份验证错误   Maven:使用JDK8编译Java7   java在使用ExecutorService时如何管理内存?   comm.jar通信串行端口java   java LibGDX创建动画