在pycharm中调用 unittest,然后显示 no tests were found是啥原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在pycharm中调用 unittest,然后显示 no tests were found是啥原因?相关的知识,希望对你有一定的参考价值。
我用的是最新版的pycharm,和新的Python.按照教科书里的程序原封能不动地抄上去的,可就是运行不了?求大神指点!!已经查了半天了,无果。非常感谢!!
显示no test was found,为什么呢?
from fullname import get_fullname
class NamesTestCse(unittest.TestCase):
'''测试fullname.py'''
def test_first_last_name(self):
"""能够正确处理像Janis Joplin这样的姓名吗"""
fullname = get_fullname('janis','joplin')
self.assertEqual(fullname,'Janis Joplin')
# 去掉main后面的括号,与书上不同
unittest.main 参考技术B 把用例名称 修改为test_开头的,尝试一下
pytest学习和使用3-对比unittest和pytest脚本在pycharm中运行的方式
3 对比unittest和pytest脚本在pycharm中运行的方式
一句话来说下,unittest和pytest脚本在pycharm中使用基本是一样的。基本是两种:
第一种:直接运行脚本
- 【运行】-【Run】,选择需要运行的脚本即可
第二种:选择运行框架
- 【文件】-【设置】-【Python Integrated Tools】-【Default test runner】,选择默认的运行框架即可:
- 比如选择pytest,鼠标放在类或test开头的方法上,并右键,
“运行(U)pytest in xx.py”的字样
- 写一个unittest框架的脚本,在
test_a
下新建一个脚本test_u.py
,脚本如下:
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2021/9/3 17:13
# 文件名称:test_u.py
# 作用:xxx
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import unittest
class TestU(unittest.TestCase):
def test_one(self):
money = 1000000
if money > 10000:
print(f"你已经拥有了{money}块钱,已经很富裕了!")
if __name__ == "__main__":
unittest.main()
- 我们先在
if __name__ == "__main__":
上右键,以pytest运行,发现是可以运行的,如下:
test_u.py::TestU::test_one PASSED [100%]你已经拥有了1000000块钱,已经很富裕了!
============================== 1 passed in 0.02s ==============================
- 说明,pytest是兼容unittest的框架的,此时我们把运行默认框架改为unittest,再次运行,发现显示的是
“运行(U)unittests in xx.py”的字样
『全栈测试技术,分享,共勉,共进,提升』
以上是关于在pycharm中调用 unittest,然后显示 no tests were found是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章
pytest学习和使用3-对比unittest和pytest脚本在pycharm中运行的方式
Django 2021年最新版教程34python unittest 单元测试 覆盖率检测
pycharm Launching unittests with arguments