热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PhpUnit-来自bootstrap.php的组排除设置-PhpUnit-groupexclusionsettingsfrombootstrap.php

Icurrentlyhavemultipletestrunnerswhichonlydiffersfromeachotherintheworkingdirectory.

I currently have multiple test runners which only differs from each other in the working directory. All of them uses the same bootstrap.php which configures the class autoload. I recently added test group annotations to my tests and I exclude tests depending on PHP versions. Currently I add test runner options for example --exclude-group closure-binding under php 5.4, but for those I have to duplicate every test runner and set the options manually. I think it would be much better if I could add modifications to the bootstrap.php and setup the group exclusion from there. Is there a way to do that?

我目前有多个测试运行器,它们在工作目录中只是彼此不同。所有这些都使用相同的bootstrap.php来配置类自动加载。我最近在测试中添加了测试组注释,并根据PHP版本排除了测试。目前我在php 5.4下添加了测试运行器选项 - 例如--exclude-group closure-binding,但对于那些我必须复制每个测试运行器并手动设置选项的选项。我认为如果我可以添加对bootstrap.php的修改并从那里设置组排除会更好。有没有办法做到这一点?

(phpunit version 3.7.x)

(phpunit版本3.7.x)

2 个解决方案

#1


0  

Don't think you can do that on your bootstrap.php but you can use different XML configuration files, with distinct group configurations (example copied from the docs):

不要认为你可以在bootstrap.php上做到这一点,但你可以使用不同的XML配置文件,具有不同的组配置(从文档中复制的示例):

File: closure-binding.xml


  
    whatever
  
  
    closure-binding
  


phpunit -c closure-binding.xml

Is this what you need?

这是你需要的吗?

#2


0  

According to Sebastian, it is not possible, I have to use the @requires annotation instead of that.

根据塞巴斯蒂安的说法,这是不可能的,我必须使用@requires注释而不是那个。

note: The @requires annotation works well, but I always got parse error because of the usage of yield and ::class in the lower versions... So I ended up not to care about this, however I'll keep the annotations. Maybe later I'll write a project which can automatically comment out test code depending on the annotation and the php version.

注意:@requires注释运行良好,但由于在较低版本中使用yield和:: class,我总是得到解析错误...所以我最终不关心这个,但是我会保留注释。也许以后我会编写一个项目,它可以根据注释和php版本自动注释掉测试代码。

For the case the code is not parsable by older php versions, yo have to move it to separate files, give them appropriate suffixes and set a configuration xml file like this:

对于这种情况,旧的php版本无法解析代码,你必须将它移动到单独的文件,给它们适当的后缀并设置一个配置xml文件,如下所示:

    
        test/unit
        test/unit
        test/unit
    

推荐阅读
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
author-avatar
Imzgu_208
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有