Pact简单示例广告设置问题

时间:2018-04-23 14:02:48

标签: python pact

我目前正在尝试运行一些非常实现的python协议示例。 python pact testing example接踵而来是最简单的一个。所以我试了一下。 不幸的是我甚至没有让这一个正常运行。我对这些要求非常困惑。 我做的是:

  1. 下载了项目
  2. 按照说明进行安装&执行
  3. 我得到了愚蠢的错误

    invoke test_consumer
    ============================= test session starts ==============================
    platform linux2 -- Python 2.7.12, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
    rootdir: /home/ubuntu/python-pact-testing-example, inifile:
    collected 0 items / 1 errors
    
    ==================================== ERRORS ====================================
    ______________________ ERROR collecting test_consumer.py _______________________
    test_consumer.py:11: in <module>
        pact.start_service()
    /usr/local/lib/python2.7/dist-packages/pact/pact.py:161: in start_service
        self._process = Popen(command)
    /usr/lib/python2.7/subprocess.py:711: in __init__
        errread, errwrite)
    /usr/lib/python2.7/subprocess.py:1343: in _execute_child
        raise child_exception
    E   OSError: [Errno 2] No such file or directory
    !!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
    =========================== 1 error in 0.28 seconds ============================
    

    现在我有几个问题:

    1. 我是否必须单独安装和运行pact模拟服务,还是应该自动完成?
    2. 为什么示例失败?
    3. 我还需要其他套餐吗?
    4. 是否有详细的指南或简单的运行示例(完整)?
    5. 我的python足够成熟吗?仅仅是为了简单和最具代表性的问题吗?

3 个答案:

答案 0 :(得分:1)

我可以建议在存储库中提出问题吗?最后一个提交日期是2017年6月28日,pact-python在过去一年半中经历了大量的发展。不幸的是,requirements.txt中没有指定版本。我的直觉是这个例子已经过时了。

答案 1 :(得分:0)

我想,我得到的错误可能是某种配置问题。使用Python 3.5和这些记录的依赖项,示例运行:

attrs==17.4.0
certifi==2018.4.16
chardet==3.0.4
click==6.7
flask==0.12.2
idna==2.6
invoke==0.22.1
itsdangerous==0.24
jinja2==2.10
markupsafe==1.0
more-itertools==4.1.0
pact-python==0.16.1
pluggy==0.6.0
psutil==5.4.5
py==1.5.3
pytest==3.5.1
requests==2.18.4
six==1.11.0
urllib3==1.22
werkzeug==0.14.1

然而,这并不能回答我最初的问题。我仍然不确定我目前的配置是否稳定。

答案 2 :(得分:0)

该项目绝对处于可用状态,今天用于测试几个专业项目。

使用pip installREADME概述的 pip uninstall pact-python pip install pact-python 方法应足以正确安装pact-python。在该安装过程中,它将下载python-pact-testing-example以执行实际的合同工作。

下载该软件包可能会导致模拟服务无法安装在您的计算机上,但今天查看代码我认为它应该在安装过程中被炸毁。我们当然可以通过告诉您哪个文件丢失并且可能是安装问题来看待这种情况更加友好。如果这是问题,这可能会解决问题:

Sys.setlocale("LC_CTYPE", "English")

如果您正在寻找示例,可以查看pact-python的separate package测试。这些说明了项目的许多主要功能和end to end