Python单元测试处理复杂对象的方法

时间:2017-08-11 12:41:47

标签: python unit-testing

我继承了一个相对较大的(~30,000行)基于Python的项目(在建筑师的CAD系统上运行),有一些凌乱的方法,我必须首先修复错误并继续开发。这些方法将砖块(或类似的东西)放入墙壁中。因此,大多数代码都会对coords,vector等进行3D计算。

目前没有项目的单元测试(我是一个完整的单元测试菜单,我是一个实体建筑师)。由于功能的复杂性,我决定支持我的单元测试工作,问题是如何才能最有效地完成。我以前见过的例子很多是基于网站的,主要是在文本文档上工作。

传入的参数非常复杂且是大型对象,而我只使用了少量的存储数据。显然我必须制作模板。

有两种可能的方式:

  1. 将真实的单词数据保存为Python pickle,稍后将其用作模板,并将其保存到磁盘。
  2. 动态设置对象。注意用过的物品' __init__()方法大多是这样的:

  3. class FirstClass:
        def __init__(): 
          self.x = 0
          self.y = 0
          self.fc = self.FirstClass()
    
    class SecondClass:
        def __init__():
            self.blabla = 0
    

    等等,没有复杂的计算。显然,我可以通过覆盖初始化的实例变量来放置我的自定义数据,如下所示:

    objects.in_the_test_used_data = some_numbers
    

    我的问题是哪种模板更好,或者是否有更好的方法。

    THX

0 个答案:

没有答案