使用Python中的testtools.matchersNot()函数进行反向匹配
发布时间:2023-12-17 20:05:14
在Python的testtools模块中,matchers模块提供了一系列的匹配器(matchers)函数,用于断言测试结果是否符合预期。其中,Not()函数是进行反向匹配的函数。
Not()函数接受一个参数,该参数是待匹配的匹配器。它将返回一个新的匹配器,该匹配器会对待匹配的结果进行反向判断。
下面是一个使用Not()函数进行反向匹配的例子:
from testtools.matchers import Equals, Not
import testtools
class MyTest(testtools.TestCase):
def test_negative_match(self):
number = 5
matcher = Equals(10)
neg_matcher = Not(matcher)
self.assertThat(number, neg_matcher) # 断言:number不等于10
def test_positive_match(self):
number = 5
matcher = Equals(5)
neg_matcher = Not(matcher)
self.assertThat(number, neg_matcher) # 断言:number不等于5,此断言会失败
在上面的例子中,我们使用了Equals()匹配器,该匹配器用于判断两个值是否相等。Not()函数用于对Equals()匹配器进行反向匹配,即判断待匹配的值是否不等于给定的值。
在test_negative_match()方法中,我们使用Equals(10)匹配器来判断number是否等于10。然后,我们使用Not(matcher)函数来进行反向匹配。由于number的值为5,因此断言成功。
在test_positive_match()方法中,我们使用Equals(5)匹配器来判断number是否等于5。然后,我们使用Not(matcher)函数来进行反向匹配。由于number的值为5,因此该断言会失败。
总结来说,Not()函数用于对给定的匹配器进行反向匹配,判断待匹配的结果是否不满足给定的匹配器。在编写测试用例时,可以通过该函数来断言某个结果的反向情况是否正确。
