小编Kat*_*a B的帖子

Python中的单元测试是否有最小的风格?

我想知道人们使用什么技术来简化用于单元测试的代码的"大小".例如,我试图编组一个类的对象并测试元帅的对象(但这假设元帅工作正常).

考虑上课

import unittest
class Nums(object):
    def __init__(self, n1_, n2_, n3_):
        self.n1, self.n2, self.n3 = n1_, n2_, n3_
def marshal(self):
    return "n1 %g, n2 %g, n3 %g"%(self.n1,self.n2,self.n3)
Run Code Online (Sandbox Code Playgroud)

然后是基于编组,基于列表和正常的测试

class NumsTests(unittest.TestCase):
    def setUp(self):
        self.nu = Nums(10,20,30)
    def test_init1(self):
        self.assertEquals(self.nu.marshal(),"n1 %g, n2 %g, n3 %g"%(10,20,30))
    def test_init2(self):
        self.assertEquals([self.nu.n1,self.nu.n2,self.nu.n3],[10,21,31])
    def test_init3(self):
        self.assertEquals(self.nu.n1,10)
        self.assertEquals(self.nu.n2,21)
        self.assertEquals(self.nu.n3,31)
Run Code Online (Sandbox Code Playgroud)

出现以下错误(因为,20!= 21和30!= 31,我的测试初始化​​不好或测试条件错误)

AssertionError: 'n1 10, n2 20, n3 30' != 'n1 10, n2 21, n3 31'

AssertionError: [10, 20, 30] != [10, 21, 31]

AssertionError: 20 != 21 …
Run Code Online (Sandbox Code Playgroud)

python unit-testing

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

标签 统计

python ×1

unit-testing ×1