【问题标题】:Prevent a function or a file from being run with nose? [duplicate]防止函数或文件被鼻子运行? [复制]
【发布时间】:2014-03-28 19:52:50
【问题描述】:

Nose 将自动运行它在项目中以test_* 开头的任何函数。因此,例如,如果有一个函数称为:

"""
test_server_setup.py
sets up a pristine database to use for testing.
DO NOT RUN ON PROD
"""

def test_server_init():
    drop_all_tables()

...然后当您从项目的根目录运行命令nosetests 时,nose 将运行它。是我重命名此函数的唯一选择,还是有其他方法可以更改文件以便鼻子忽略它?

【问题讨论】:

    标签: python testing nose


    【解决方案1】:

    nottest 装饰器正是你所需要的:

    nose.tools.nottest(func)

    装饰器将函数或方法标记为不 测试

    from nose.tools import nottest
    
    @nottest
    def test_server_init():
        drop_all_tables()
    

    要排除文件或目录被鼻子测试发现拾取,请参阅:

    【讨论】:

    • 这并没有回答帖子的标题“防止 python 文件被用鼻子运行”......而是你展示了如何防止一个函数。
    • @nmz787 好点,更新了问题标题和答案。谢谢。
    • nottest 比现在损坏的 skip 装饰器好得多! (因为我仍然可以显式运行指定为nottest 的类/方法,但该类/方法不会被鼻子自动运行)谢谢!
    猜你喜欢
    • 2010-11-11
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    相关资源
    最近更新 更多