相关疑难解决方法(0)

对Jupyter笔记本中的功能进行单元测试?

我有一台Jupyter笔记本,我计划反复运行.它有功能,代码结构如下:

def construct_url(data):
    ...
    return url

def scrape_url(url):
    ... # fetch url, extract data
    return parsed_data

for i in mylist: 
    url = construct_url(i)
    data = scrape_url(url)
    ... # use the data to do analysis
Run Code Online (Sandbox Code Playgroud)

我想为construct_url和写测试scrape_url.什么是最明智的方法呢?

我考虑过的一些方法:

  • 将函数移出到实用程序文件中,并在某个标准Python测试库中为该实用程序文件编写测试.可能是最好的选择,但这意味着并非所有代码都在笔记本中可见.
  • 使用测试数据在笔记本电脑内写入断言(为笔记本添加噪声).
  • 使用专门的Jupyter测试来测试细胞的内容(不要认为这是有效的,因为细胞的含量会发生变化).

python testing unit-testing reproducible-research jupyter

30
推荐指数
4
解决办法
9215
查看次数

如何通过调试器检测Python代码?

有没有一种简单的方法可以在Python代码中检测到这些代码是通过Python调试器执行的?

我有一个使用Java代码的小型Python应用程序(感谢JPype).当我调试Python部分时,我也想为嵌入式JVM提供调试选项.

python

25
推荐指数
5
解决办法
6437
查看次数

如何在Django unittest中使用pdb.set_trace()?

我想像调试任何其他Python代码一样调试Django TestCase:只需调用pdb.set_trace()然后进入交互式会话即可.当我这样做时,我没有看到任何东西,因为测试是在不同的过程中运行的.我正在使用django-discover-runner,但我的猜测是这适用于默认的Django测试运行器.

问题:

是否可以在每次错误/失败pdb时使用django-discover-runnera)进入会话,和/或b)只有在我调用pdb.set_trace()我的测试代码时?

有些研究:

这个答案解释了Django创建了另一个进程,并建议使用rpdb2 debugger一部分调用winpdb,但我不想使用winpdb,我宁愿使用ipdb.

这个答案django-nose通过运行如下所示的测试命令解决了问题:./manage.py test -- -s但该选项不可用django-discover-runner.

这个答案显示我可以这样做ipython:

In [9]: %pdb
Automatic pdb calling has been turned ON
Run Code Online (Sandbox Code Playgroud)

这似乎是一个潜在的选择,但ipython每次运行测试时启动它似乎有点麻烦.

最后,这个答案表明nose带有一个--pdb标志,它会pdb出现错误,这就是我想要的.我唯一的选择是切换到django-nose测试跑步者?

我在内置帮助中没有看到任何选项django-discover-runner:

$ python manage.py help test --settings=settings.test
Usage: manage.py test [options] [appname ...]

Runs …
Run Code Online (Sandbox Code Playgroud)

django debugging django-testing pdb

21
推荐指数
2
解决办法
9350
查看次数

与Flask,Postgres的SQLALchemy数据库会话

我正在使用SQLAlchemy和Flask,如下所示:http://flask.pocoo.org/docs/patterns/sqlalchemy/

我有一个Selenium测试套件,首先运行Firefox,然后运行Chrome.

在每个浏览器开始测试之前,将删除并创建测试数据库(PostgreSQL)中的表.

它适用于第一个浏览器,但对于第二个浏览器,SQL创建/删除尝试只是冻结并且不显示任何错误.

我相信这是因为开放的SQLAlchemy会话,这是正确的吗?

python postgresql sqlalchemy flask

8
推荐指数
1
解决办法
3262
查看次数

用于Visual Studio的Python工具上的Pytest

可以调试在Visual Studio 2010上使用pytest库的python测试吗?我在解释器参数上添加了-m pytest但是没有命中断点,我只能运行测试脚本而不调试它.

python unit-testing visual-studio pytest ptvs

5
推荐指数
2
解决办法
2533
查看次数