测试人社区

【实例代码疑惑】对于classmethod,我有很多问号...

问 题

  1. 为什么 setup_class 需要定义成 classmethod

    个人理解,设置成类方法为了通过类而不是实例化对象调用,可以稍微节省一点代码。

    setup_class本身是一个初始化的方法,本身不显示调用,那么设置成类方法的作用是?

  2. 在代码重构过程中,什么情况下需要用classmethod?

class TestWeWork:

   # 这里什么要用类方法?
   @classmethod
   def setup_class(cls):
       cls.token = WeWork.get_token()

   def test_get_token(self):
       r = WeWork.get_access_token(WeWork.secret)
       assert r["errcode"] == 0

   def test_get_token_exist(self):
       assert self.token is not None

实例代码

额。。。没发现你是另外发了一个帖子,我给回复到答疑帖下面了。。你上答疑帖看吧
https://ceshiren.com/t/topic/1473/6

在答疑帖是引用了这个帖子啦,下次可以在这里回复。。然后在答疑帖引用你的回复,也可以不引用,反正别人一点进来,就可以看到你的回复了

这样做的好处就是可以把这个问题单独拎出来,别人搜帖子也容易发现

测试一下回复功能 :joy:

看到这个标题吓我一跳,调皮+1

MR DONG可以针对第二个问题回答下不,最近在学习重构代码,什么时候用classmethod还是有点懵 :no_mouth:

有利于组织代码和命名空间的整洁,懵是因为你写的代码太少了,没遇到过使用场景。