访问 class 方法
Access class methods
我遇到了问题。我有一个单元测试试图从 class 访问方法。我的单元测试如下
public function testReverseArraySuccess()
{
$data = "This is a test.";
$output = (new Reverse)
->setInput($data)
->get();
$this->assertEquals(['test', 'a', 'is', 'This'], $output);
}
我的class如下
class Reverse
{
public $input;
/**
*
* @param $data
*/
public function setInput($data) {
$this->input = $data;
}
/**
*
*@return void
*/
public function get()
{
return $this->input;
}
}
如何设置 class 才能通过测试?
我 运行 测试时得到的错误是。
错误:调用成员函数 get() 为 null
setInput
不可链接,因为它不是 return 自身的一个实例。这是一个 void
函数,默认情况下 return 为空,这就是您收到该错误消息的原因。将 setInput
更新为 return class 的实例以使其可链接。
public function setInput($data) {
$this->input = $data;
return $this;
}
现在 get
将 return 传递给 input
属性 的任何值,这是一个有效的 demo.
然后是反转输入的问题,但我会把它留给 OP。
Reverse实例设置数据后需要直接调用获取数据class。
public function testReverseArraySuccess() {
$data = "This is a test.";
$output = new Reverse;
$output->setInput($data);
$this->assertEquals(['test', 'a', 'is', 'This'], $output->get());
}
我遇到了问题。我有一个单元测试试图从 class 访问方法。我的单元测试如下
public function testReverseArraySuccess()
{
$data = "This is a test.";
$output = (new Reverse)
->setInput($data)
->get();
$this->assertEquals(['test', 'a', 'is', 'This'], $output);
}
我的class如下
class Reverse
{
public $input;
/**
*
* @param $data
*/
public function setInput($data) {
$this->input = $data;
}
/**
*
*@return void
*/
public function get()
{
return $this->input;
}
}
如何设置 class 才能通过测试? 我 运行 测试时得到的错误是。
错误:调用成员函数 get() 为 null
setInput
不可链接,因为它不是 return 自身的一个实例。这是一个 void
函数,默认情况下 return 为空,这就是您收到该错误消息的原因。将 setInput
更新为 return class 的实例以使其可链接。
public function setInput($data) {
$this->input = $data;
return $this;
}
现在 get
将 return 传递给 input
属性 的任何值,这是一个有效的 demo.
然后是反转输入的问题,但我会把它留给 OP。
Reverse实例设置数据后需要直接调用获取数据class。
public function testReverseArraySuccess() {
$data = "This is a test.";
$output = new Reverse;
$output->setInput($data);
$this->assertEquals(['test', 'a', 'is', 'This'], $output->get());
}