当前位置:  开发笔记 > 编程语言 > 正文

如何发现动态生成的测试用例?

如何解决《如何发现动态生成的测试用例?》经验,为你挑选了1个好方法。

这是我前一个问题的后续行动.

在上一个问题中,探索了一些方法来实现对整个函数族基本相同的测试,确保测试不会在第一个失败的函数处停止.

我首选的解决方案是使用元类将测试动态插入unittest.TestCase.不幸的是,鼻子不会选择这个,因为鼻子静态扫描测​​试用例.

如何发现并运行这样的TestCase?有关TestCase的示例,请参阅此处.



1> Matt Good..:

对于像这样的东西,Nose有一个"测试生成器"功能.您编写了一个生成器函数,该函数生成您希望它运行的每个"测试用例"函数及其args.按照上一个示例,这可以检查单独测试中的每个函数:

import unittest
import numpy

from somewhere import the_functions

def test_matrix_functions():
    for function in the_functions:
        yield check_matrix_function, function

def check_matrix_function(function)
    matrix1 = numpy.ones((5,10))
    matrix2 = numpy.identity(5)
    output = function(matrix1, matrix2)
    assert matrix1.shape == output.shape, \
           "%s produces output of the wrong shape" % str(function)

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有