pact -python 用于 QA 团队

pact -python for QA Team

我正在尝试在本地设置契约 python 项目并面临问题。如果你能帮助我解决这些问题就太好了

看来我们必须从消费者端使用 localhost:1234? .我们可以使用真实服务代替模拟服务吗?如果我使用 localhost:1234 ,则会生成协议,但如果我使用真实服务,则会出现错误 所以我的问题是我们是否需要始终使用 Mock 服务 ((localhost:1234)我们从消费者方面创建协议

第二期:我来自 QA 团队,认为协议应该由 DEV 团队而不是 QA 团队编写。我的假设正确吗?如果是,这些协议将如何帮助 QA 团队?

consumer.py

    import requests
    def callAPI(self,inputString,Url):
    respone = requests.get(url+inputString).status_code

test_consumer.py:

 pact = Consumer ( 'consumer' ).has_pact_with ( Provider ( 'provider' ) )
      pact.start_service ()
      atexit.register ( pact.stop_service )


      def test_callAPI (self):
      url = 'http://localhost:1234'

      pact.given ( 'sending user name to Url'
                 ).upon_receiving (
        'once i get the respone from service'
      ).with_request (
        'get', '/' ).will_respond_with ( 200)

     with pact:
        result = callAPI (url)
        self.assertEqual ( result['status_code'], 200 )

提前致谢,

是的,您的代码必须访问模拟服务器,否则我们无法确定您的期望是否真实。合同测试使用它来保证它对供应商的要求。

您也可以告诉 Pact 使用任何端口,这只是默认端口。

should devs write them ... how will it help the QA team?

嗯,简短的回答是肯定的,它们确实应该由编写代码的人编写。那是一件坏事?作为 QA,我想这会让你的工作更轻松,因为质量会自动提高,你可以专注于更重要的活动,而不是编写自动化测试。