首页 文章

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

提问于
浏览
4

所有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 回答

  • 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()
    

相关问题