质保小组的pact -python

时间:2018-07-23 19:26:50

标签: pact pact-python

我正在尝试在本地设置pact python项目并面临问题。如果您能在这些问题上为我提供帮助

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

第二个问题:我来自质量检查小组,认为协议应由DEV小组而非质量检查小组撰写。我的假设正确吗?如果是,这些协议将如何帮助质量检查小组?

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 )

先谢谢您

1 个答案:

答案 0 :(得分:1)

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

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

  

开发人员应该编写它们吗?它将如何帮助质量检查小组?

简短的答案是肯定的,它们确实应该由编写代码的人来编写。那是一件坏事?作为质量检查人员,我想这将使您的工作更加轻松,因为质量会自动提高,并且您可以专注于更重要的活动,而不必编写自动化测试。