pytest之测试固件中teardown使用yield与request.addfinalizer函数的哪个比较好

一、测试用例出现问题时,使用yield与request.addfinalizer()函数哪个好?

答:request.addfinalizer()函数会更好。当测试用例出现问题时,yield后面的teardown将不会被执行,而addfinalizer的teardown会被执行

 

二、setup出现问题时,使用yield与request.addfinalizer()函数哪个好?

答:request.addfinalizer()函数会更好。当setup出现问题了,addfinalizer会执行teardown操作

 

总结:一个测试固件没有返回值且确保setup不会出现问题时用yield更容易理解,其他情况使用addfinalizer函数更好

posted @ 2019-08-13 16:30  vevian  阅读(1265)  评论(0)    收藏  举报