Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无效!Unittest具有装饰程序时不运行_Python_Python 2.7_Python Decorators_Python Unittest - Fatal编程技术网

Python 无效!Unittest具有装饰程序时不运行

Python 无效!Unittest具有装饰程序时不运行,python,python-2.7,python-decorators,python-unittest,Python,Python 2.7,Python Decorators,Python Unittest,编辑:正如我在下面回答的那样,这个问题是无效的,因为这完全是我的误解。 我已经尝试过自定义错误的decorator,我想在我的单元测试中应用这个decorator。但是,当完成此操作时,在修饰的单元测试范围内有一个raisesomeerror语句(如果某些测试要求未得到满足,则从测试用例调用的函数将抛出一个SomeError),并且此错误类在我的decorator中被捕获,则永远不会执行测试。但是,如果我删除testcase中的任何raiseSomeError语句,它就会正常运行 我的装饰师:

编辑:正如我在下面回答的那样,这个问题是无效的,因为这完全是我的误解。

我已经尝试过自定义错误的decorator,我想在我的单元测试中应用这个decorator。但是,当完成此操作时,在修饰的单元测试范围内有一个
raisesomeerror
语句(如果某些测试要求未得到满足,则从测试用例调用的函数将抛出一个
SomeError
),并且此错误类在我的decorator中被捕获,则永远不会执行测试。但是,如果我删除testcase中的任何raise
SomeError
语句,它就会正常运行

我的装饰师:

def try_exceptor(f):
    @functools.wraps(f)
    def inner(self):
        try:
            return f(self)
        except KeyError as k:
            print k
        except MyLocustFailError as mlfe:
            print mlfe.message
            newer_assert(mlfe.load_test, mlfe.response, mlfe.message)
    return inner

我有点尴尬,但我必须承认,从来没有我在问题中描述过的问题。刚刚意识到,由于我的日志设置不好,在某些情况下,输出部分转到了我的日志文件(facepalm)。由于函数签名中的一个参数发生了变化,而我没有在函数体中处理该参数,因此unittest在应该被断言为失败时从未被断言为失败。骗我相信我的装潢师出了问题。

你到底想用这个做什么?当测试抛出
键错误时,您希望发生什么?你想重写你自己吗?刚才添加了KeyError是为了解决我问题中描述的行为问题。我将测试源(测试用例函数)与PythonUnitTest和Hocust负载测试模块结合使用。decorator允许我将try-except语句从每个测试用例移动到一个decorator中。对不起,我仍然不明白。除了在测试用例中,为什么要使用try?同一代码抛出异常或不抛出异常是否正确?也许你需要举一个更具体的例子?
assertRaises()
如何不为您提供所需的功能?蝗虫负载测试模块有自己的设置测试用例失败的方法(还必须说,我不是蝗虫专家,所以到目前为止,我已经想出了这个解决方案)。因此,如果我想在蝗虫运行期间设置失败状态并终止执行,我会抛出自定义错误。还应该说,执行总是作为单元测试(使用unittest模块)或者作为蝗虫测试。如果没有蝗虫模块的参与,我将永远不会有这种方法与装饰和tr除了..丹Getz,谢谢你的投入,但正如你在我的回答中看到的,问题是一个误解从我这边。