pdb断点的pytest命令行选项

pytest-pdb-break的Python项目详细描述


这有助于帮助text编辑器启动调试器并快速前进 让人感兴趣。如果您已经有一个可靠的工作流 breakpoint()片段和/或--trace--pdb选项,有 这里没什么可看的。

This basically does …

$ pytest --trace spam.py::test_foo
...
(pdb) until 42

or …

deftest_foo():...pytest.set_trace(header="line 42")

with a few minor conveniences sprinkled in

Simpatico检查
  1. 你更喜欢一种无创的,一键式的,随身携带的方法来进入 调试器
  2. 您喜欢上面第二个示例提供的停止的确定性
  3. 您喜欢变量和属性的制表符完成方式
  4. 你想要在unittest.TestCases和你自己的装置里 (实验性)
不要安装
与正确的pytest插件不同,它不是作为python安装的 包裹。编辑器将通过 PYTHONPATH,但仅在使用中(不需要Internet连接)。
在制品
注意事项
  1. 不幸的是,这个东西只有在linux上试过/测试过

  2. 它主要是为了它的作者来学习PyTesta,一个体面的人。 对其的理解仍在逃避

  3. 它不支持-m pytest风格的调用,这意味着 工作目录没有隐式地添加到sys.path

  4. Actually,更像是…

    $echountil42 > .pdbrc
    $ pytest --trace spam.py::test_foo; rm -f .pdbrc
    ========================== test session starts ==========================
    ...
     > /repo/spam.py(42)test_foo()
    -> assert True  # line 42
    (pdb) _

    或者…

    $ cp spam.py spam.py~
    $ sed -i -E \
    >   '42{h;s/^(\s+)(.*)$/\1import pytest; pytest.set_trace()/p;g}'\
    >   spam.py
    $ pytest spam.py::test_foo; mv -f spam.py~ spam.py
    ========================== test session starts ==========================
    ...
     > /repo/spam.py(43)test_foo()
    -> assert True  # line 42
    (pdb) _

    (假设目标行以新语句打开)

  5. 当黑客攻击主pytest插件时,忽略上面的命令 以及do install

    (.venv)repo@master$ pip install -e .
    

    如果坚持包含的引用集成,一些额外的 可能需要欺骗。例如:

    • 通过其中一个文档选项禁用“独立库”创建
    • 手动管理编辑器插件(或使其与您的 经理)

    如果做你自己的事,通常的规则是适用的,比如确保正确的 调用Pytest时,exec path和env vars具有优先权:

    constpytest=pty.spawn('pytest',['--break=spam.py:42',nodeid],{cwd:rootdir,env:Object.assign({},process.env,modified)});// or whatever
待办事项
  1. 外部帮助程序返回--optionslist
  2. asyncio

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用jaxb整理集合?   java改装添加带有令牌和id的标头   Java Webstart在启动应用程序之前停止   mysql将请求主体作为JSON存储到Java数据库中   春天3。从Java 7更新到Java 8后x应用程序不工作   java如何为我的mock实例化unirest HttpResponse<JsonNode>?   java两个servlet在同一场战争中与两场独立战争中的利弊?   java Mockito验证未失败   GWT中的java文件读取器   java避免代码重复   java谁将设置saml cookie,其中包含凭证信息   java如何修改jar包代码,然后重新导出更新的jar包?   BST数据结构中的java递归差异   java如何从文本文件中读取存储的哈希表?   带有quercus的java php comet   java从SeleniumWebDriver写入json变量   javascript如何在同一个action类中对方法调用action?