当前位置:  开发笔记 > 编程语言 > 正文

在并行python中运行测试用例

如何解决《在并行python中运行测试用例》经验,为你挑选了1个好方法。

我想获得一些帮助,以使用multiprocessing模块并行运行多个python测试用例。我创建了一个FooTest类,其中包含10个测试用例(testA,testB ...)。类之外有一个测试用例test_foo。

如何使用python多处理模块并行运行所有测试用例?谢谢您的帮助。

import unittest
import time

def setUp():
    print "module setup"

def test_foo():
    pass

class FooTest(unittest.TestCase):

    # preparing to test
    def setUp(self):
        """ Setting up for the test """
        print "FooTest:setUp_:begin"

    # ending the test
    def tearDown(self):
        """Cleaning up after the test"""
        print "FooTest:tearDown_:begin"

    # test routine A
    def testA(self):
        """Test routine A"""
        print "FooTest:testA"
        time.sleep(2)

    # test routine B
    def testB(self):
        """Test routine B"""
        print "FooTest:testB"

    # test routine C
    def testC(self):
        """Test routine C"""
        print "FooTest:testC"

    # test routine D
    def testD(self):
        """Test routine D"""
        print "FooTest:testD"

    # test routine E
    def testE(self):
        """Test routine E"""
        print "FooTest:testE"
        time.sleep(2)

    # test routine F
    def testF(self):
        """Test routine F"""
        print "FooTest:testF"

    # test routine G
    def testG(self):
        """Test routine G"""
        print "FooTest:testG"

    # test routine H
    def testH(self):
        """Test routine H"""
        print "FooTest:testH"

    # test routine I
    def testI(self):
        """Test routine I"""
        print "FooTest:testI"

    # test routine J
    def testJ(self):
        """Test routine J"""
        print "FooTest:testJ"
        time.sleep(2)

Oleksiy.. 5

根据鼻子文档,您还可以通过运行nosetests --help以下命令获得:

--processes = NUM​​在许多进程中运行了传播测试。设置一个等于您计算机中处理器或内核数量的数字即可获得最佳效果。传递一个负数可将进程数自动设置为核心数。传递0表示禁用并行测试。除非设置了NOSE_PROCESSES,否则默认为0。[NOSE_PROCESSES]

因此,只需运行nosetests --processes=-1即可使用计算机上的所有内核并行运行测试。



1> Oleksiy..:

根据鼻子文档,您还可以通过运行nosetests --help以下命令获得:

--processes = NUM​​在许多进程中运行了传播测试。设置一个等于您计算机中处理器或内核数量的数字即可获得最佳效果。传递一个负数可将进程数自动设置为核心数。传递0表示禁用并行测试。除非设置了NOSE_PROCESSES,否则默认为0。[NOSE_PROCESSES]

因此,只需运行nosetests --processes=-1即可使用计算机上的所有内核并行运行测试。

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有