我通常对每个班级进行单元测试,这没问题。然而,在搞乱了python之后,我遇到了一个我之前在其他语言,元类和内部类中没有遇到过的问题。
假设我有一个包含内部类的类,并且还有一个元类,为这种情况构建单元测试的最佳方法是什么?
一种方法是在单个测试模块中测试所有三个,因为它们无论如何都是如此紧密耦合。但这对我来说似乎不对。但是我如何单独测试元类,在使用所述元类的测试中创建一个虚拟类?
您的想法请stackoverflow!
答案 0 :(得分:3)
通过实例化来测试类。你提到的“虚拟类”将是元类的一个实例,所以你应该如何测试它。
当涉及到测试内部类/外部类时 - 是的,我将包括在外部类的测试中测试内部类。如果独立于外部类测试内部类是有意义的,为什么它根本就是内部类?任何内部类只应在外部类的范围内有意义。如果 要独立测试它,那么无论如何你都必须模仿外层的环境。