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