2013-04-01 54 views
1

我想测试一个方法,这取决于另一个方法。第一种方法注册用户,但必须检查给定的用户名是否可用。模拟一个类,编辑一个方法并使用另一个方法

我试图与测试类

class Test { 
    public function a() { 
     return "ac"; 
    } 

    public function b() { 
     return $this->a(); 
    } 
} 

的东西,我想嘲笑方法的“A”类和编辑behavoir。

我尝试以下

$m = new Test(); 

$mock = \Mockery::mock($m); 
$mock->shouldReceive("a") 
     ->andReturn("ad"); 

echo $mock->b(); 

但这种方法 “A” 保持不变。

我该如何编辑方法“a”的行为,或者我该如何去做别的途径?

感谢

回答

1

你可以写一个测试像这样的:

public function testMethodB() 
{ 
    $test = \Mockery::mock('Test[a]'); 
    $test->shouldReceive('a')->andReturn('ad'); 

    assertEquals('ad', $test->b()); 
} 

我认为它的工作原理!

相关问题