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

为什么phpunit没有得到phpunit.xml中指定的正确的APP_ENV?

如何解决《为什么phpunit没有得到phpunit.xml中指定的正确的APP_ENV?》经验,为你挑选了2个好方法。

我正在使用Laravel,这是我的./phpunit.xml文件



    
        
            ./tests/Feature
        

        
            ./tests/Unit
        
    
    
        
            ./app
        
    
    
        
        
        
        
        
    

我用以下命令触发了我的一个测试套件:

./vendor/phpunit/phpunit/phpunit --testsuite UnitTests

在我的测试方法中,我有:

public function testAllMandatoryData()
{
   dump(env('APP_ENV'));
   ....
}

它正在显示"本地",我期待phpunit.xml中指定的"测试"

         

编辑:其他详细信息 我在Docker容器中运行此laravel应用程序

在docker-compose.yml上我设置了一些环境变量,如:

environment:
  - APP_ENV=local
  - DB_HOST=192.168.0.22
  - DB_PORT=33306
  - DB_DATABASE=mydatabase
  - DB_USERNAME=homestead
  - DB_PASSWORD=homestead

我注意到的是phpunit.xml中的指令如下:

    

当docker-compose中的名字已经存在时没有效果.

相反,如果我添加一些未在docker-compose.yml中定义的将在phpunit运行时正确设置,如:

    

结束编辑

我错过了什么?

谢谢



1> koalaok..:

我尝试用我找到的最佳选择回答自己.

如果在docker-compose.yml文件中设置ENV变量,则无法使用phpunit.xml指令覆盖它们,例如:

  

然后你应该选择从docker-compose.yml中删除(如本例所示)APP_ENV变量集

并依赖.env Laravel文件

APP_ENV=local

通过此设置,phpunit将能够覆盖APP_ENV以"测试"

对于所有docker agent版本,我仍然不能100%确定需要这种安排.我与另一个Docker版本的另一个主机表现不同.



2> pscheit..:

使用






如果没有force参数,它将无法正常工作。看到这个问题:https : //github.com/sebastianbergmann/phpunit/issues/2353 和合并的PR:https : //github.com/sebastianbergmann/phpunit/pull/2723


推荐阅读
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 深入解析:OpenShift Origin环境下的Kubernetes Spark Operator
    本文探讨了如何在OpenShift Origin平台上利用Kubernetes Spark Operator来管理和部署Apache Spark集群与应用。作为Radanalytics.io项目的一部分,这一开源工具为大数据处理提供了强大的支持。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文将指导您如何在Docker环境中高效地搜索、下载Redis镜像,并通过指定或不指定配置文件的方式启动Redis容器。同时,还将介绍如何使用redis-cli工具连接到您的Redis实例。 ... [详细]
  • 利用YAML配置Resilience4J的Circuit Breaker
    本文探讨了Resilience4j作为现代Java应用程序中不可或缺的容错工具,特别介绍了如何通过YAML文件配置Circuit Breaker以提高服务的弹性和稳定性。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
author-avatar
youth冰点
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有