partialMock() public static method

Partial Mocking interfaces & classes
public static partialMock ( $mockedClass ) : mixed
$mockedClass
return mixed
 /**
  * Testing spies
  */
 public function testSpies()
 {
     $spy = ShortifyPunit::partialMock('SimpleClassForMocking');
     $this->assertEquals($spy->first_method(), 1);
     // default value
     $this->assertEquals($spy->second_method(), 2);
     // default value
     $this->assertEquals($spy->third_method(), 3);
     // default value
     // after stubbing
     ShortifyPunit::when($spy)->first_method()->returns('foo');
     $this->assertEquals($spy->first_method(), 'foo');
     // still default value
     $this->assertEquals($spy->second_method(), 2);
     // default value
     $this->assertEquals($spy->third_method(), 3);
     // default value
     // test chain stubbing
     ShortifyPunit::when($spy)->second_method()->third_method()->returns('bar');
     $this->assertEquals($spy->second_method()->third_method(), 'bar');
     // after chaning methods in chain with same arguments are instanceof `MockClassOnTheFly`
     $this->assertInstanceOf('ShortifyPunit\\Mock\\MockClassOnTheFly', $spy->second_method());
 }