首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nose @with_test不工作

Nose @with_test不工作
EN

Stack Overflow用户
提问于 2014-09-30 18:08:55
回答 1查看 271关注 0票数 0

我有这样一种情况,对于某些测试,我需要使用与我为所有测试定义的不同的设置方法,为此,我认为应该使用@with_setup的鼻部装饰器。

然而,这似乎不起作用。

代码:

代码语言:javascript
复制
import unittest
from nose.tools.nontrivial import with_setup
__author__ = 'gaurang_shah1'

class Demo(unittest.TestCase):

    def setup_func(self):
        print "setup_func"

    def teardown_func(self):
        print "teardown function"

    def setUp(self):
        print "setup"

    @with_setup(setup_func, teardown_func)
    def test_setup(self):
        print "test setup"

我期待下面的输出,

setup_func

测试设置

teardown_func

然而,我得到了以下输出,我在这里做错了什么吗?

设置

测试设置

EN

回答 1

Stack Overflow用户

发布于 2014-10-01 05:04:58

您正在构造一个unittest子类,因此它将始终使用unittest.setUp和tearDown方法进行测试。如documentation中所述

请注意,with_setup仅适用于测试函数,不适用于测试方法TestCase子类内部。

如果你想使用@with_setup,把这个类一起去掉:

代码语言:javascript
复制
from nose.tools.nontrivial import with_setup

def setup_func():
    print "setup_func"

def teardown_func():
    print "teardown function"

@with_setup(setup_func, teardown_func)
def test_something():
    print "test"

或者更好的方法是,创建另一个执行自定义setUp函数的单元测试类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26118151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档