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
时仍然有效。但是,最好采用文档中说明的当前最佳实践,以使您的代码在开发过程中更加健壮。
这是我的 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
时仍然有效。但是,最好采用文档中说明的当前最佳实践,以使您的代码在开发过程中更加健壮。