我创建了一些类,每个类都以数据框为参数。我已经导入pytest并创建了一些装置和简单的assert方法。
我可以从笔记本中调用pytest.main([。]),它将从rootdir(数据块/驱动程序)执行pytest。
我尝试通过笔记本路径,但显示找不到。
理想情况下,我想从命令行执行此操作。
如何配置rootdir? 我发现很难在spark os和用户工作区之间断开连接。
作为警告,我不想使用unittest,因为通过输出AzureDevOps可以报告的junitxml,我可以在CI plepleine中成功使用pytest。
答案 0 :(得分:1)
我已经解释了为什么不能在Databricks笔记本上运行pytest(除非您将它们导出,并以常规.py文件的形式将它们上传到dbfs,这不是您想要的)的原因,这篇文章。
但是,我已经能够使用doctest.run_docstring_examples
这样的方法在Databricks中运行doctest:
import doctest
def f(x):
"""
>>> f(1)
45
"""
return x + 1
doctest.run_docstring_examples(f, globals())
这将打印出来:
**********************************************************************
File "/local_disk0/tmp/1580942556933-0/PythonShell.py", line 5, in NoName
Failed example:
f(1)
Expected:
45
Got:
2
如果您还想引发异常,请进一步查看:https://menziess.github.io/howto/test/code-in-databricks-notebooks/