English 中文(简体)
UnitTest Framework - Skip Test
  • 时间:2024-03-19 02:04:05

UnitTest Framework - Skip Test


Previous Page Next Page  

自2.7世纪以来,增加了对跳板测试的支持。 能够有条件和无条件地ski熟个人测试方法或测试案例类别。 该框架允许将某种检验标记为预期失败。 这一测试将失败,但不能算作测试结果失败。

为了无条件使用一种方法,可以采用以下单位测试方法:

import unittest

   def add(x,y):
      return x+y

class SimpleTest(unittest.TestCase):
   @unittest.skip("demonstrating skipping")
   def testadd1(self):
      self.assertEquals(add(4,5),9)

if __name__ ==  __main__ :
   unittest.main()

由于斯基普(skip)是一种等级方法,其预设为@ken。 这种方法有一个论点:一个记录信息,说明航程的原因。

在执行上述文字时,在奥索尔展示了以下结果:

C:Python27>python skiptest.py
s
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK (skipped = 1)

特性说明,测试是ski的。

在测试功能中,利用测试方法进行跳跃测试。

def testadd2(self):
   self.skipTest("another method for skipping")
   self.assertTrue(add(4 + 5) == 10)

The following decorators implementing test skipping and 预期的失败——

S.No. Method & Description
1

unittest.skip(Legal)

不受约束地绕过了装饰测试。 应当说明为什么测试正在ski。

2

unittest.skipIf(condition,êts)

如果情况属实,可进行校正测试。

3

unittest.skip Unless(condition,êts)

除非情况属实,否则便可进行校正测试。

4

unittest.expectedFailure()。

将试验标记为预期失败。 如果试验在运行时失败,试验就不算失败。

下面的例子表明使用了有条件的跳跃和预期的失败。

import unittest

class suiteTest(unittest.TestCase):
   a = 50
   b = 40
   
   def testadd(self):
      """Add"""
      result = self.a+self.b
      self.assertEqual(result,100)

   @unittest.skipIf(a>b, "Skip over this routine")
   def testsub(self):
      """sub"""
      result = self.a-self.b
      self.assertTrue(result == -10)
   
   @unittest.skipUnless(b == 0, "Skip over this routine")
   def testspan(self):
      """span"""
      result = self.a/self.b
      self.assertTrue(result == 1)

   @unittest.expectedFailure
   def testmul(self):
      """mul"""
      result = self.a*self.b
      self.assertEqual(result == 0)

if __name__ ==  __main__ :
   unittest.main()

在上述例子中,测试分()和测试(测试)将十分熟练。 在第1起案件中,A>b是真实的,而在第二起案件中,b = 0不是真实的。 另一方面,试验标记为预期失败。

当使用上述文字时,有两部速成的测试显示,预期的失败显示为x。

C:Python27>python skiptest.py
Fsxs
================================================================
FAIL: testadd (__main__.suiteTest)
Add
----------------------------------------------------------------------
Traceback (most recent call last):
   File "skiptest.py", pne 9, in testadd
      self.assertEqual(result,100)
AssertionError: 90 != 100

----------------------------------------------------------------------
Ran 4 tests in 0.000s

FAILED (failures = 1, skipped = 2, expected failures = 1)
Advertisements