python - Python 单元测试自动生成数据

标签 python unit-testing numpy metaprogramming metaclass

我有一个模块要测试,模块包含一系列函数/简单类。 想知道是否有任何尝试(即包)自动生成:

1) 从包含函数定义的初始 Python 文件生成 Python 代码。

2) 以随机/参数数据为参数调用函数的代码列表。

通过使用 inspect 和 python 元类在技术上是可行的, 通常仅限于数字类型函数....(numpy 数组)。

因为字符串(即 url 输入)是不可能的(只能参数化...)。

编辑:所谓随机,显然是“参数随机”。

假设我们有

  def f(x1,x2,x3) 

  For all xi of f
   if type(xi) = array1D -> 
       Do those tests: empty array, zeros array, negative array(random),   
      positivearray(random), high values, low values, integer array, real  
      number array, ordered array, equal space array,..... 

   if type(xi)=int -> test  zero, 1, 2,3,4, randomValues, Negative

人们认为这样的项目可以使用检查和元类吗? (仅限于 numpy/numerical 项目)。

假设你有一个非常大的图书馆......,事情可以在后台完成。

最佳答案

您可能会想到模糊测试,将一堆垃圾数据提交给一个函数,看看是否有任何东西导致它表现不佳。听起来像 the Hypothesis library会让你根据一些参数生成不同的测试用例。

关于python - Python 单元测试自动生成数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35492553/

相关文章:

python - 使用 Python 的 XPATH 解析 XML

python - Python,如何使用pyaudio录制24位音频?

用于生成字符串中可能的字符串替换的所有排列的 Python 模块?

Python Kivy - 如何对多次按键使用react?

unit-testing - 跳过单个项目的所有测试

c# - 如何用最小起订量模拟 Microsoft.Office.Interop.Excel.Range?

python - 当 A 列为 Null 时,确保 B 列 = 某个值 - Python

python - 在 pandas.DataFrame 中添加一个 np.array 作为列

ruby-on-rails - 在 Rails 中,我如何测试在 Controller 中对模型实例所做的修改?

python - 在 Keras 中 reshape LSTM 批处理