标签: nose-parameterized

Python测试如何运行参数化的测试用例并将参数传递给setupClass

我有一个Python unitest。在setupClass方法中,我执行了一些耗时的任务...测试本身运行非常快。现在我想用多组参数运行相同的测试用例。我该如何实现?

我已经尝试过用鼻子_参数化等的差异方法,但是我不能使用@ parameterized.expand()

import unittest
from nose_parameterized import parameterized


parameters = [('test1', 2 ),('test2', 3)]


class TestParameterizedTestcase(unittest.TestCase):
    @classmethod
    def setUpClass(cls, param=1):
        """
        Do some expensive stuff
        """
        cls.param = param
        print 'Param in setup class  %s'


    def test_is_one(self):
        """
        A fast test
        """
        self.assertEqual(1,self.param)

    def test_is_two(self):
        """
        Another fast test
        """
        self.assertEqual(2, self.param)

    def test_is_three(self):
        """
        Another fast test
        """
        self.assertEqual(3, self.param)
Run Code Online (Sandbox Code Playgroud)

python parameterized-unit-test python-unittest nose-parameterized

5
推荐指数
1
解决办法
5624
查看次数

如何在Python中访问装饰器中的类属性?

我正在尝试使用nose_parameterized测试并希望将其用于单元测试方法。

from nose.tools import assert_equal
from nose_parameterized import parameterized
import unittest

Class TestFoo(unittest.TestCase):
      def setUp(self):
           self.user1 = "Bar"
           self.user2 = "Foo"

      @parameterized.expand([
               ("testuser1",self.user1,"Bar"),
               ("testuser2",self.user2,"Foo")
                ]
      def test_param(self,name,input,expected):
          assert_equal(input,expected)
Run Code Online (Sandbox Code Playgroud)

self在装饰器函数中没有定义。有解决方法吗?我知道我可以使用全局类变量,但我需要在setUp.

python nose nosetests parameterized-unit-test nose-parameterized

2
推荐指数
1
解决办法
1649
查看次数