用于控制远程数据访问的pytest插件。

pytest-remotedata的Python项目详细描述


这个包为pytest框架提供了一个插件,它允许 开发人员控制需要从Internet访问数据的单元测试。 它最初是astropy核心包的一部分,但已移动到 分开包装以便更通用。

动机

许多软件包提供了需要从 互联网。这些特性需要测试,但是访问 Internet可以支配测试套件的整个运行时。

pytest-remotedata插件允许开发人员指示哪些单元测试 要求访问Internet,并控制此类测试的时间和是否 应作为测试套件任何给定运行的一部分执行。

安装

可以使用pip

安装pytest-remotedata插件
$ pip install pytest-remotedata

也可以从源代码安装最新的开发版本 存储库:

$ git clone https://github.com/astropy/pytest-remotedata
$ cd pytest-remotedata
$ python ./setup.py install

在任何情况下,插件都将自动注册以使用 pytest

用法

安装此插件使两个装饰器可用于pytest

  • remote_data用于标记需要来自Internet的数据的测试
  • internet_off用于标记只应在Internet访问时运行的测试 已禁用

这些修饰符可用于使用 @pytest.mark。例如,考虑下面的测试函数 需要从Internet访问数据:

importpytestfromurllib.requestimporturlopen@pytest.mark.remote_datadeftest_remote_data():urlopen('https://astropy.org')

用^{tt10}标记test_remote_data函数$ 指示pytest此测试应仅在访问远程 显式请求数据源。

安装此插件时,--remote-data命令行选项是 添加到pytest命令行界面。

默认行为是跳过标记为remote_data的测试。 如果--remote-data选项没有提供给pytest命令,或者 如果提供了--remote-data=none,则标记为 remote_data将被跳过。所有标记为 internet_off将被执行。

有时检查某些测试是否不意外访问是有用的 互联网。可以通过设置启用严格的远程数据访问检查 remote_data_strict = true在测试包的setup.cfg文件中。如果 此选项已启用,任何试图访问网络但未 用@pytest.mark.remote_data标记的将失败。

提供--remote-data选项或--remote-data=anypytest命令行接口将导致所有标记为 remote-data执行。任何标记为^{tt7}的测试$ 将被跳过。

使用--remote-data=astropy运行测试只会导致 从要运行的astropy数据源接收远程数据。与任何其他测试 将跳过数据源。这在测试代码中通过标记表示 使用@pytest.mark.remote_data(source='astropy')测试函数。

在将来,我们打算支持一种可配置的方式来表示 除了astropy之外的远程数据源。

开发状态

Travis CI StatusAppveyor Status

问题、错误报告和功能请求可以在github上提交。

许可证

此插件是根据3条bsd样式的许可证授权的-请参阅 LICENSE.rst文件。

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

推荐PyPI第三方库


热门话题
安卓唯一约束失败,SQLite,Java   java preparedStatement。getString()方法不适用于嵌套sql查询   java如何使用意图将图像(jpg)从一个活动传递到另一个活动?   java无法使用resources文件夹中的文件进行jUnit测试   java Basic多线程程序   JavaSpring自定义转换为Bean或不转换为Bean   amazon web services如何使用AWS CLI 2将更新的JAR上载到现有的Java Elastic Beanstalk实例?   java 安卓:spinner提示符未在API>23中显示   Java表格输出到文件   仅当时间已过而不使用java中的计时器时才执行方法   java有没有一种更健壮的方法来实现依赖于通配符的字符串值的程序流?   未使用BaseAdapter实现在ListView上调用java OnItemLongClickListener   javascript Java Play2是否允许Json RPC调用?   java如何通过编程从doc和docx文件中删除用户身份信息?   JAVAlang.SecurityException:UID 10243在Android 10中没有粗略/精细位置权限