Python UnitTest-如何访问subTests消息而不必手动编写它们?

热尔根·哲科夫(Gergan Zhekov)

上下文:我正在使用Python和Selenium进行质量检查Web自动化,并且正在使用“页面对象模型”模式。我目前正在使记录器成为系统的一部分,并且我想使代码更高效,而不必编写很多重复的代码。我在文档中检查了subTests,但是找不到特别的东西,这就是我在这里的原因。所以我想知道是否有一种方法可以访问这部分代码(因此,我不必每次都写每个记录器消息,这不是很实际):

  class TestScenario(unittest.TestCase):

      .... # set Up class

      def logger(self,info):
          logger.error(f"Error happened at {info}")

      def test_method(self):

          with self.subTest("MESSAGE"):---------------------------------------------                                     
                                                                                   |
              try:                                                                 |
                  ... something                                                    |
              except AssertionError:                                               | 
                  self.logger(#Is there a way to access subTest msg parameter?) <---
                  raise

          .... other subTests which will follow the same pattern

先感谢您!

ndclt

您可以self.logger(self._subtest._message)获取消息。

当心,您正在访问unittest的内部变量,因此该代码可以在下一版本的python中被破坏,而不会发出警告。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章