【发布时间】:2016-01-19 10:06:38
【问题描述】:
我有时会在交互式 shell 中编写小函数。
它们很少第一次是正确的,所以我花了很多时间在同一个测试集上运行我的函数版本来验证正确性。
>>> def test_foo():
print( foo(4) == 5 )
print( foo(8) == 9 )
>>> def foo(x): return x + 1
>>> test_foo()
True
True
但是foo 可能更复杂,我可能需要 5 次或更多次重写才能让它通过我的测试,因为手动运行套件很无聊,我需要这样的东西:
>>> def test_foo():
print( foo(4) == 5 )
print( foo(8) == 9 )
>>> :SET_ON_EXECUTION test_foo
现在每次我重写我的 foo 函数并将其发送到定义时,测试也将运行。
一些研究
- 在 Google 上搜索没有给出有用的答案。
- 在 shell 中
python -h没有告诉我如何执行此操作。 -
%quickref在'ipython中也没有,`.
【问题讨论】:
-
您介意按几次向上箭头,还是按 Control-R 后跟几个字符,然后按 Tab 键并输入?
-
或者,您可以快速分配
f = test_foo,这样可以节省大约 8 个字符。现在它只是提示符处的f()。 -
@Evert 这就是我目前正在做的,自动化会非常好
-
Jupyter(网络)笔记本中的一个单元格只是(我认为)alt-enter 来执行当前单元格的问题。编辑单元格,alt-enter,编辑,alt-enter 等。这是我能想到的最接近的。可能有一些 IDE 具有类似的行为。
标签: python automated-tests read-eval-print-loop