Nosetest 包括不需要的父目录

2023-11-26

我试图将鼻子测试限制到特定目录,但是在测试运行期间,它包括我要定位的目录的父目录,这样做会引发错误。

以下是测试运行输出的关键要素:

nose.importer: DEBUG: Add path /projects/myproject/myproject/specs
nose.importer: DEBUG: Add path /projects/myproject/myproject
nose.importer: DEBUG: Add path /projects/myproject
nose.importer: DEBUG: insert /projects/myproject into sys.path

我在用着buildout with pbp.recipe.noserunner。这是相关的/projects/myproject/buildout.cfg部分:

[specs]
recipe = pbp.recipe.noserunner
eggs =
    pbp.recipe.noserunner
    ${buildout:eggs}
    figleaf
    pinocchio
working-directory = 
    myproject/specs
defaults =
    -vvv
    --exe
    --include ^(it|ensure|must|should|specs?|examples?)
    --include (specs?(.py)?|examples?(.py)?)$
    --with-spec
    --spec-color

我也尝试过设置where=myproject/specs作为其中之一defaults参数帮助限制导入但仍然不高兴。

对我哪里出错有什么建议吗?

Edit:

我尝试过--exclude父目录但没有乐趣。


我想您正在期待以下行为。

nose.importer: DEBUG: Add path /projects/myproject
nose.importer: DEBUG: insert /projects/myproject into sys.path

为什么不尝试一下--match or an --exclude限制测试集的模式?

Try:

--exclude myproject/myproject

我检查了nose.importer的源代码:nose递归地add_path规范的父包。 我认为除非你创建一个特定的导入器,否则你无法绕过这个...... 我不知道鼻子 API 是否可能。

def add_path(path, config=None):
    """Ensure that the path, or the root of the current package (if
    path is in a package), is in sys.path.
    """

    # FIXME add any src-looking dirs seen too... need to get config for that

    log.debug('Add path %s' % path)    
    if not path:
        return []
    added = []
    parent = os.path.dirname(path)
    if (parent
        and os.path.exists(os.path.join(path, '__init__.py'))):
        added.extend(add_path(parent, config))
    elif not path in sys.path:
        log.debug("insert %s into sys.path", path)
        sys.path.insert(0, path)
        added.append(path)
    if config and config.srcDirs:
        for dirname in config.srcDirs:
            dirpath = os.path.join(path, dirname)
            if os.path.isdir(dirpath):
                sys.path.insert(0, dirpath)
                added.append(dirpath)
    return added


def remove_path(path):
    log.debug('Remove path %s' % path)
    if path in sys.path:
        sys.path.remove(path)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nosetest 包括不需要的父目录 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某

随机推荐

  • Visual Studio 2012实现界面的快捷方式

    Visual Studio 2012 似乎删除了从接口继承的抽象类的自动实现 知道如何在 2012 版本中解决这个问题吗 看来还是有可能的 请看这个来自 MSDN 的 如何 文章 我测试了它 它似乎工作得很好 使用此过程执行实现抽象基类 智
  • 类设计:数组与多个变量

    我有一些理论问题 但是这是我在设计类时有时会遇到的问题 并且在阅读其他代码时我发现它的做法有所不同 以下哪一项更好以及为什么 示例1 class Color public Color float float float Color frie
  • 高性能异步等待套接字

    我正在编写一个应用程序 需要通过 tcp 建立数百个套接字连接来读取 写入数据 我遇到过这段代码片段在这里我想知道如何才能使其更加稳健 这就是我当前调用代码的方式 foreach var ip in listofIps IPEndPoint
  • 防止软键盘被关闭

    有很多与如何以编程方式显示 隐藏软键盘相关的问题 然而 众所周知 android 后退按钮会导致键盘消失 有没有办法阻止用户通过按后退按钮来关闭键盘 我尝试捕获后退按钮 但是当键盘显示在我的活动中的 onKeyDown 时 按下后退键并且软
  • 将 pandas 数据框中的对象列转换为日期时间

    我在 pandas 数据框中有一个格式为 dd mm yyyy 的对象列 我想用 to datetime 进行转换 我尝试使用以下命令将其转换为日期时间 df Time stamp pd to datetime df Time stamp
  • Xcode - 目标特定本地化

    我的项目包括多个目标 每个目标用于不同的客户 有些客户需要特定的本地化 我不希望所有客户都获得这种特定的本地化 由于本地化是在项目级别处理的 因此我找不到仅针对特定目标添加本地化的方法 有什么建议如何去做吗 寻找稳定的选项 无需在每次构建之
  • 多次查询同一个表但在不同的列中mysql

    我正在尝试获取更多列来总结两个不同表的结果 SET start res 20150301 SET finish res 20150501 SET finish check 20150801 SET start check 20150301
  • 转储 g++ 中的包含路径

    我正在尝试编写一些构建脚本 并想确定包含的内容是否是系统包含的 所以我想要g 告诉我它正在使用的包含路径 cpp v似乎是明显的最佳选择 但它没有给我 C 路径 所以我尝试 g Xpreprocessor v 这不太正确 g 捕捉到 v因为
  • Flask 应用程序启动后运行代码

    我的目标是在 Flask 应用程序启动后运行任意代码 这是我所得到的 def run from webapp import app app run debug True use reloader False 理想情况下我能够这样做 def
  • 是否有开源线程安全的 C++ 对象池实现? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要创建一个套接字连接池 该连接池将服务于多个工作线程 是否有一个线程安全的对象池实现 其功能类似于 Apache Commons Generic
  • 如何使用 JQuery/JS 获取给定 url(外部 url)的网页标题

    我是新手 如果这是一个愚蠢的问题 请原谅 所以我试图使用 JQuery JS 获取 URL 的标题 我不想加载 url 的内容 然后解析其中的标签 让我说得更清楚 我有一组网址 比如说 20 个 我想显示它们的标题 我指的网址不是当前的网址
  • 使 Spring bean 的行为类似于 ExecutorService 的 ThreadLocal 实例

    在我的网络应用程序中 我有一个后台服务 该服务使用包含 Engine 类和ExecutorService配置为使用多个线程并接受 GeneratorTasks Component public class Generator Autowir
  • 在 Entity Framework 4.1 Code First 中手动生成主键的最佳方法是什么

    在 Entity Framework 4 1 Code First 中手动生成主键的最佳方法是什么 我正在对 ASP NET MVC 3 进行编程 并使用存储库模式 我目前使用以下代码按顺序生成密钥 Code First Class Pub
  • 带有自定义比较函数对象的 STL Map

    我想使用 STL 的 Map 容器通过使用二进制数据作为键来查找指针 所以我编写了这个自定义函数对象 struct my cmp bool operator unsigned char const a unsigned char const
  • Boost 的 y=Ax 线性代数解

    boost有吗 其中 A y 和 x 分别是矩阵 稀疏且可以很大 和向量 y 或 x 可能是未知的 我在这里似乎找不到它 http www boost org doc libs 1 39 0 libs numeric ublas doc i
  • 在单元测试中比较 numpy float 数组[重复]

    这个问题在这里已经有答案了 实现比较两个 numpy float 数组的单元测试的最佳方法是什么 我尝试过unittest assertEqual 但对浮点数组不起作用 因为浮点永远不会100 相等 我不能使用assertAlmostEqu
  • printf 和 ++ 运算符[重复]

    这个问题在这里已经有答案了 include
  • 将字符串添加到逐字字符串文字中

    我有一个名为 defaultPath 的路径 我想将其添加到这个逐字字符串文字中 但可以完全获取它周围的引号 C Mavro MavBridge Server MavBridgeService exe service data Data 我
  • 在 ColdFusion 中使用表单数组?

    我不知道如何在 ColdFusion 9 中处理这个问题 我有一个正在提交的表单 POST 其中包含元素复选框 称为 items 当我做一个
  • Nosetest 包括不需要的父目录

    我试图将鼻子测试限制到特定目录 但是在测试运行期间 它包括我要定位的目录的父目录 这样做会引发错误 以下是测试运行输出的关键要素 nose importer DEBUG Add path projects myproject myproje