- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先,标题表明这是 this 的副本或 this ,但出于几个原因,这些答案对我不起作用,即使我最初的问题是相同的。我会解释原因。
我的问题是:在我的代码中有几次我想发送标题和正文然后终止处理。与其他问题不同,我不能使用 return
或抛出 Exception(这些显然是为不同目的而设计的不同函数,而不是 exit,这不是错误;它只是某些特定情况下的早期运行时终止个案)。
仍然,我想编写运行这些方法的单元测试,确保设置了适当的 header (找到解决方案 here ),输出正文正确(用 $this->expectOutputString( 解决) )
-测试用例中的方法)然后继续测试。在此期间,exit
将发生。
我已经在 PHPUnit 中尝试了 @runInSeparateProcess
-annotation,我还检查了 test_helpers扩展,它有效,但我不想为破坏所有内容的单行 native PHP 代码添加另一个扩展(请注意,测试也将在生产中运行)。在不牺牲最佳实践的情况下,必须有一种更简单的方法。
有没有人有解决这个问题的好方法?
最佳答案
我在 Bootstrap 中添加了一个变量,在我不需要退出的极少数情况下,我可以在代码中使用 IF 引用它。
define ('PHPUNIT_RUNNING', 1);
普通程序:
if(! @PHPUNIT_RUNNING === 1 )
{
exit;
}
PHPUnit 没有定义为规则,所以在 PHP 执行时会产生一个警告(我们用 @ 隐藏它。然后代码将在不处于测试模式时执行我们想要的操作。这是在主代码之后添加的是在我们将 PHPUnit 测试添加到现有项目而不是进行 TDD 时编写的。
请注意:
我们尽可能少地这样做以解决遗留问题,否则我们会按照其他人的建议去做,抛出异常或将数据返回给父函数。
关于php - 使用 PHPUnit 忽略 exit() 和 die(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915434/
这是在 MacOS 上通过自制软件安装了 PHP 8.1.10 ... 只是一个空白的 index.php 代码,只有这段代码...... 然后 .. 在我的浏览器中呈现以查看... Fatal
我相信所有这些(甚至是 die() 或 die(0))都是相同的。如果它们不相同,那么哪个更适合成功退出脚本?如果它们相同,是否有任何首选标准表明脚本成功完成?我倾向于使用 exit;. 编辑:所有答
在对项目中一个非常模糊的错误进行了一些认真的调试之后,我能够得到这个简短的代码。一个没有死亡的死亡调用。 该问题仅在调用 script.pl 时发生。如果直接调用Class_A,那么die调用就会成功
注意:我正在使用输出缓冲。它只是包含在 head() 和 foot() 函数中。 我使用以下模板在我当前的 PHP 项目中创建页面: 以下示例是否适合使用 die()?另外,如果有的话,这可能给
我想这样写: die "Error in file $0 line number $line_number_of_this_cmd_in_file \n"; 在我的 perl 脚本文件中。 有什么帮助
下面是我尝试执行的代码 $a=0; if($a==0){die print"zero"}; 我得到如下输出 1 at test.pl line 2 Zero 我想知道首先打印的 1 是什么,
我使用以下代码在 perl 中运行一个简单的文件测试: my $f1 = "$pre_file"; unless (-e $1) { print "\n Pre_check file does n
我目前正在制作一个注册页面。它包括密码散列和验证。当我使用“die”时,它会停止表单并显示错误。我想在同一页面上显示错误。 $_POST['username'] ); try
我总是在发出 die() 命令之前调用 mysqli_close()。 这很乏味,有时会被遗忘,但我想确定 die 命令是关闭所有 mysql 连接还是仍然保持打开状态? 我无法通过 PHP 检查,因
让 die() 存在于生产环境中是否被认为是不好的做法?刚好看到这篇文章http://www.phpfreaks.com/blog/or-die-must-die作者抨击在生产环境中使用这种东西的人。
当我刚开始学习 PHP 时,我会编写类似于这里的查询语句: mysql_query("SELECT * FROM `table`") or die(mysql_error()); 目前最好的方法是什么
有没有人在 Python 中使用类似的东西: def die(error_message): raise Exception(error_message) ... check_somethin
我正在使用以下行进行一个简单的系统调用,该调用有效: system ("mkdir -p Purged") or die "Failed to mkdir." ; 执行脚本确实会进行系统调用,我可以找
我有一个通过 die 引发异常的脚本.当我捕捉到异常时,我想输出没有附加位置信息的消息。 这个脚本: #! /usr/bin/perl -w use strict; eval { die "M
在Perl中,如果程序因错误退出,则可以编写$SIG{__DIE__}处理程序来执行代码。 bash是否提供类似的功能? 这是我要尝试的操作:我有一个bash脚本,该脚本创建一个新目录并调用几个命令,
自从我创建 HTA 代码以来,我一直使用 IE :( 我们需要将更改事件捕获在 中元素,但你猜怎么着,IE 不支持该事件。 所以我创造了一种模仿它的方法。与 单击时显示 略低于。那部分工作正常。问题
this => set_time_limit (), Die() 可以用来取消文件上传吗。 即当用户单击按钮时,set_time_limit () 函数将执行。 它会停止上传吗? 最佳答案 您最好使用
我正在开发一些项目。我想控制不同的错误。我知道在所有流行的框架和 php 项目中都有不同的异常。但我认为这不是必需的工作。如果发生错误,我们可以用我们的消息制作 die()。1. Exceptions
最近我参加了 Jeffrey Richter 的有关 .NET 的培训类(class)。他提到了一种编码策略“死亡很棒”。也就是说,即使在程序或事件循环的根部也不要编写“catch (Exceptio
假设我们的类中有以下代码: //class code TextBox t = new TextBox(); ListBox l = new ListBox(); 我们有两种可能的情况: 首先,我们将
我是一名优秀的程序员,十分优秀!