皮查姆-没有检测到?

2024-04-25 10:04:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一个

No tests were found

Pycharm的错误我不明白为什么我会得到它。。。这就是我的point_test.py所拥有的:

import unittest
import sys
import os

sys.path.insert(0, os.path.abspath('..'))

from ..point import Point


class TestPoint(unittest.TestCase):
    def setUp(self):
        pass

    def xyCheck(self,x,y):
        point = Point(x,y)
        self.assertEqual(x,point.x)
        self.assertEqual(y,point.y)

而这个point.py,我要测试的是:

import unittest

from .utils import check_coincident, shift_point

class Point(object):
    def __init__(self,x,y,mark={}):
        self.x = x
        self.y = y
        self.mark = mark

    def patched_coincident(self,point2):
        point1 = (self.x,self.y)
        return check_coincident(point1,point2)

    def patched_shift(self,x_shift,y_shift):
        point = (self.x,self.y)
        self.x,self,y = shift_point(point,x_shift,y_shift)

我的运行配置有问题吗?我看了一眼this这样的帖子,但我还是很困惑。我的运行配置当前如下所示:

enter image description here

我想我只是明白我可能做错什么了?任何帮助都将不胜感激,谢谢!!


Tags: pathfrompyimportselfshiftosdef
3条回答

我知道这个问题问了一年多了,但我也有同样的问题,那篇文章是搜索的第一个结果。

据我所知,PyCharm(或Intellij Idea Python plugin)需要满足以下条件才能在运行目录中的所有测试时启动测试。

  1. 测试函数应该以“test”开头(不需要下划线)
  2. 包含测试的文件也应该以“test”开头“在我的情况下,资本不起作用

我使用Intellij IDEA 2016.3.5和Python插件

如果要使用命令行运行测试

python -m unittest

然后应该将__init__.py添加到测试目录。Python仍然希望测试函数名以“test”开头,测试文件名以“test”开头,但是对于文件,它不关心第一个“t”是否是大写的。test case和test_case同样可以。

为了识别测试函数,它们必须命名为test_,在您的示例中,将xyCheck重命名为test_xyCheck:)

又一个刚刚咬了我的家伙。

我的测试包中有一个名为test_queue.py的测试文件,它遵循了上述所有建议,但是当我在PyCharm中选择“Run UnitTests”时,控制台报告没有找到任何测试。

在我的例子中,问题是我在项目的根目录中有一个非单元测试文件,也称为test_queue.py,它在项目的早期曾被用于其他目的,但后来被遗忘了。

尽管我在tests文件夹中特别选择了测试文件,并且路径设置为绝对指向该文件的单元测试版本,但似乎正在使用项目根目录中的文件。

所以,还有一件事要检查,确保您的项目中没有同名的其他文件。

相关问题 更多 >