数字博士

numtest的Python项目详细描述


Numtest是一个doctest 简化数值结果测试的扩展。

它提供了一个新的doctest指令NUMBER,用于数值 测试:

>>> import math
>>> math.pi # doctest: +NUMBER
3.14

要启用它,请在运行测试之前导入模块numtest

它是如何工作的?

数值试验的一个主要问题是 结果。

numtest从数字的数量推断出所需的精度 用于预期结果:上面使用的字符串"3.14" 示例意味着^ {TT4} $的最佳三位逼近。 应该是3.14

例如,math模块将pi声明为 数字

3.141592653589793, 3.14, 3

将通过上述测试,而值

100, 3, 3.1, 3.149

同样的测试也会失败

附加功能

Numtest支持数字列表和 NumPy数组。例如,下面的测试 通行证:

>>> import numpy
>>> x = numpy.linspace(0.0, 1.0, 4)
>>> x # doctest: +NUMBER
[0.00, 0.333, 0.667, 1.00]

只测试列表或数组的形状和值:列表可以是 与数组成功比较,整数数组与 漂浮物等

哥特恰

注意,numpy显示的数组只有8位数的精度 违约。因此,以下测试将失败:

>>> x # doctest: +NUMBER
[0.00, 0.333333333333, 0.667, 1.00]

然而,display precision used by NumPy is configurable。 先前调用

>>> numpy.set_printoptions(precision=17)

将使测试按预期通过

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有字符串的java JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)