我想知道最终取得了多少成功,但我失败了。我想使用数组函数,但我不知道如何从这里继续:
public function array_internal($the_string)
$pass= Array();
$failed = Array();
if(strstr($the_string,"Success"))
{
$pass[] = +1;
}
else
{
$failed[] = +1;
}
count($pass);
此步骤正在运行每个断言函数,如下所示:
try {
$this->assertEquals("off", $this->getValue("page"));
throw new PHPUnit_Framework_AssertionFailedError("Success");
} catch (PHPUnit_Framework_AssertionFailedError $e) {
$this->array_internal($e->toString());
}
功能本身还可以。我的问题只出在柜台上。
谢谢!
修改 我试着做这样的事情:
$pass= 0;
$failed = 0;
public function array_internal($the_string)
if(strstr($the_string,"Success"))
{
$pass += 1;
}
else
{
$failed += 1;
}
$pass;
答案 0 :(得分:2)
除了计数之外,你没有对数组做任何事情,所以为什么不使用整数呢?
$pass= 0;
$failed = 0;
public function array_internal($the_string)
global $pass, $failed;
if(strstr($the_string,"Success"))
{
$pass += 1;
}
else
{
$failed += 1;
}
}
答案 1 :(得分:2)
为什么不将全局变量用作$pass
和$fail
,您可以按$pass++
和$fail++
增加?
答案 2 :(得分:1)
public function array_internal($the_string)
$pass=0;
$failed=0;
if (strstr($the_string,"Success"))
{
$pass += 1;
}
else
{
$failed += 1;
}
答案 3 :(得分:1)
$pass[] = +1
在$pass
数组中创建一个新的键值对,并将1
添加到新值。这可能不是你想要做的。请参阅其他答案,了解您的目标。
答案 4 :(得分:0)
$pass= Array();
$failed = Array();
创建新的数组实例。函数array_internal
的返回值始终为0或1.您也永远不会使用$failed
。
一个更简单的功能是:
public function array_internal( $the_string )
$pass = 0;
if( strstr( $the_string, "Success" ) )
{
$pass = 1;
}
return $pass;
}
像哈门说的那样,你需要使用一个外部的int计数器。与Harmen不同,我会尝试尽可能不使用全局变量,而是使用类变量来限制它的范围。
可能是类TestClass
的静态变量,称为$passes
,如:
TestClass::$passes += $this->array_internal($e->toString());