从测试脚本中运行pytest测试用例

时间:2013-07-13 15:10:13

标签: python emacs pytest

所有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()

1 个答案:

答案 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()