我正在尝试测试一种方法,这取决于另一种方法。第一种方法注册用户,但必须检查给定的用户名是否可用。
我尝试过测试类
class Test {
public function a() {
return "ac";
}
public function b() {
return $this->a();
}
}
我想嘲笑课程并编辑方法“a”的行为。
我试过了
$m = new Test();
$mock = \Mockery::mock($m);
$mock->shouldReceive("a")
->andReturn("ad");
echo $mock->b();
但方法“a”保持不变。
如何编辑方法“a”的行为,或者我该如何做呢?
由于
答案 0 :(得分:1)
你可以写一个像这样的测试:
public function testMethodB()
{
$test = \Mockery::mock('Test[a]');
$test->shouldReceive('a')->andReturn('ad');
assertEquals('ad', $test->b());
}
我认为它有效!