所有pytest文档都指出py.test file_name
是运行pytest测试用例的标准方法。但我在Emacs中使用左侧窗格中的Python脚本和右侧窗格中的Python解释器进行开发。
我的工作流程是我对Python脚本进行了更改, CTRL-C C 它(以便更新的更改发送到REPL)并移动到REPL( CTRL- O )所以测试更新的代码。如果我可以在左侧更改我的测试用例,移动到正确的REPL屏幕并执行更新的测试用例,那将是很好的。
有没有办法从REPL或脚本中运行pytest测试用例,而不是生成shell并运行pytest命令?
编辑:顺便说一句,我确实尝试使用pytest中的main
函数并在脚本中调用它,但由于一些有趣的原因,除非我杀了,否则不会更改旧的REPL并开始一个新的。其他Python脚本不会发生这种情况,因此我确信这与pytest有关。这是代码:
def test_add():
assert myadd(1, 2) == 3
if __name__ == '__main__':
pytest.main()
答案 0 :(得分:0)
评论@ Conrad.Dean之后。似乎将测试放入某些pytest.py是一种有用的约定。下面是一个说明if __name__ == '__main__'
:
def myadd(first, second):
return first + second
def test_add():
assert myadd(1, 2) == 3
if __name__ == '__main__':
print("Running test_add")
test_add()