Astropy测试工具¶
本节主要是为那些想了解或添加Astropy测试机制的开发人员提供参考。看到了吗 测试指南 有关运行或编写测试的概述。
astropy.tests.helper
模块¶
为了简化对Astropy有效的测试的开发 astropy.tests.helper
模块提供一些实用函数,使使用Astropy约定或类的测试更容易使用,例如,测试 Quantity
物体。
这里的功能并不详尽,因为许多有用的工具都在标准库中, pytest 或 numpy.testing . 这个模块主要包含特定于astropy核心包或遵循astropy包模板的包的功能。
参考/API¶
astropy.tests.helper模块¶
功能¶
|
测试对象是否遵循我们的Unicode策略。 |
|
如果两个对象不符合所需的公差,则引发断言。 |
|
试着去腌制一个物体。 |
|
Fixture运行协议0和1以及-1(最高级)的所有测试。 |
|
检查a和b的属性是否相等。 |
Astropy测试运行程序¶
使用执行测试时 astropy.test
对pytest的调用由 astropy.tests.runner.TestRunner
班级。
这个 TestRunner
类用于生成 astropy.test
函数时,test函数为pytest生成一组命令行参数。pytest的参数在 run_tests
方法的参数 run_tests
它们各自的逻辑定义在 TestRunner
装饰着 keyword
装饰工。有关此示例,请参见 TestRunnerBase
. 这种设计使得包可以很容易地向测试运行器添加或删除关键字参数,或者通过从 TestRunnerBase
.
参考/API¶
- class astropy.tests.runner.keyword(default_value=None, priority=0)[源代码]¶
将方法标记为的关键字参数的修饰符
TestRunner
.
- class astropy.tests.runner.TestRunnerBase(*args, **kwargs)[源代码]¶
TestRunner的基类。
可以通过创建此类的子类并定义“关键字”方法来构造测试运行器。这些方法具有
keyword
decorator,这些方法用于构造run_tests
方法作为一种允许自定义单个关键字参数(和关联逻辑)的方法,而不必重新实现整体run_tests
方法。实例
一个简单的关键字方法:
class MyRunner(TestRunnerBase): @keyword('default_value'): def spam(self, spam, kwargs): """ spam : `str` The parameter description for the run_tests docstring. """ # Return value must be a list with a CLI parameter for pytest. return ['--spam={}'.format(spam)]