oce*_*800 19 python unit-testing nose pycharm
我一直在接受
没有发现任何测试
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)
Run Code Online (Sandbox Code Playgroud)
而这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)
Run Code Online (Sandbox Code Playgroud)
我的运行配置有问题吗?我看了这篇 SO帖子,但我仍然感到困惑.我的运行配置目前看起来像这样:
我想我只是明白我可能做错了什么?任何帮助将不胜感激,谢谢!
Jor*_*ley 28
为了识别测试函数,必须test_在您的情况下将它们命名xyCheck为test_xyCheck:
Ily*_*nov 21
我知道问题已经过去了一年多,但我遇到了同样的问题,而且该帖子是搜索中的第一个结果.
据我所知,PyCharm(或Intellij Idea Python插件)需要您的测试符合以下条件,如果您希望在目录中运行所有测试时启动它.
我正在使用Intellij IDEA 2016.3.5和Python插件
如果要使用命令行运行测试
python -m unittest
Run Code Online (Sandbox Code Playgroud)
然后你应该添加__init__.py到测试目录.Python仍然希望您的测试函数名称以"test"开头,并且您测试文件名以"test"开头,但是在文件的情况下,它并不关心第一个"t"是否为大写.TestCase和test_case同样没问题.
另一个刚刚咬我的陷阱。
我的测试包中有一个测试文件,test_queue.py它遵循上述所有建议,但是当我在 PyCharm 中选择“运行 UnitTests”时,控制台报告没有找到测试。
就我而言,问题是我在项目的根目录中有一个非单元测试文件,也称为test_queue.py该文件,该文件在项目早期用于其他目的而被遗忘。
尽管我在我的测试文件夹中专门选择了测试文件,并且路径设置为绝对指向文件的单元测试版本,但似乎正在使用项目根目录中的文件。
因此,还有一件事要检查,请确保您的项目中没有其他同名文件。
| 归档时间: |
|
| 查看次数: |
20293 次 |
| 最近记录: |