欢迎访问宙启技术站
智能推送

使用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()函数用于对给定的匹配器进行反向匹配,判断待匹配的结果是否不满足给定的匹配器。在编写测试用例时,可以通过该函数来断言某个结果的反向情况是否正确。