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