PyCharm 在Mac OS系统中无法进入单元测试

PyCharm 在Mac OS系统中无法进入单元测试模式

问题

  今天从Clion开发环境切换到PyCharm,准备使用Python版的OpenCV重现一篇Paper的算法模型。由于本人对Python的用法和Pycharm单元测试还不熟悉,在即将进行算法测试的时候,遇到了比较多的问题。
  其中一个问题就是:当触发TestMethod的左上角的Run/Debug按钮之后,PyCharm无法进入测试模式,对应的调试信息和结果也没有显示出来。而在对应的Windows系统下却能成功进入。我使用的PyCharm版本是2018.3

进入单元测试模式
在这里插入图片描述

  • 这时候产生了类似于以上的一些运行配置。

分析

   PyCharm可以使用多种测试框架进行单元测试。我们平常想对短程序进行测试时,习惯在.py文件底下顺手撸上一个main函数写上一些测试数据,然后开始测试。当Run操作执行后,PyCharm会自动创建一个Run Configuration保存程序的运行模式。
传统的Main入口启动方式

  PyCharm可以基于多种测试框架进行单元测试。常见的是unitest、pytest、Nosetest等。在Mac OS系统的PyCharm默认使用了Nosetest作为其单元测试的框架。理论上,任何一款已经被IDE集成的框架应该都可以进行测试。奇怪的是,依旧产生了我在文章开头描述的问题。

解决

  因为无法确定是否是在启用新的测试模式时,导致了新配置跟原有运行配置的冲突。我把旧的运行配置文件全部删除,并且将PyCharm的测试框架从默认的Nosetests切换到Unitests。具体操作如下:

  • 首先把PyCharm使用的测试框架切换到unitests

根据Setting–>Tools–>Python Intergrated Tools 导航进入到以下设置

在这里插入图片描述
找到Default test Runner 切换测试运行器,下拉选择unitests
在这里插入图片描述

  • 之后,清除有关测试代码的一切运行配置,比如之前利用main函数创建入口Run Configuration

选择你要删除的运行配置

在这里插入图片描述

  • 清除完毕,重新运行单元测试。可以看到,由于切换了测试框架,原本的“Run Nosetests for test_r…” 已经变为“Run Unittests for test_r…”

在这里插入图片描述

  • 运行测试成功,控制台成功打印了调试的打印信息和测试结果
    在这里插入图片描述

关于unitests框架的在PyCharm的配置和使用,请看官方文档:

https://www.jetbrains.com/help/pycharm/creating-tests.html

unitests的接口文档:

https://docs.python.org/3/library/unittest.html

猜你喜欢

转载自blog.csdn.net/github_37453952/article/details/85047879
今日推荐