Jupyter notebook python library testbook 没有给出任何结果

Jupyter notebook python library testbook not giving any results

这是我的 jupyter 笔记本的单元格 1(笔记本名为 tested.ipynb)

def func(a,b):
   return a+b

这是测试 python 代码 (tester.py) 的试卷:

import testbook
@testbook.testbook('tested.ipynb',execute=True)
def test_func(tb):
    func=tb.ref("func")
    assert func(1,2)==0

然后我从终端运行执行以下命令:

python tester.py

它应该未通过单元测试。但我根本没有得到任何输出。没有失败,没有消息。如何让失败出现?

那是因为您仍然需要使用 pytest 或其他单元测试库来 运行 您的测试。在 'Features' 下注意它说:

"Works with any unit testing library - unittest, pytest or nose" -SOURCE

Testbook 只是让编写单元测试更容易。参见 here under 'Unit testing with testbook' for an example of the process of using testbook in your toolchain with pytest, although bear in mind a lot of the syntax doesn't match the the current documentation。因此,如果您安装了 pytest,则不是来自终端的 运行ning python tester.py,而是来自终端的 运行 以下命令:

pytest tester.py

我注意到一件事,您的导入和装饰器行不匹配 the current documentation。尽管如此,您的代码在使用 pytest tester.py 时仍然有效。但是,最好采用文档中说明的当前最佳实践,以使您的代码在开发过程中更加健壮。