The class under test is as follows:
class ElasticSearchInstaller
{
/**
* Version of ElasticSearch
*
* @var \ElasticSearch\Requierments
*/
protected $requirements;
/**
* Object Constructor.
*
* @param Requierments $requirements
*/
public function __construct(Requirements $requirements)
{
$this->requirements = $requirements;
}
/**
* Set requirements
*
* @return bool
*/
public function canInstall()
{
return ($this->requirements->checkRequirements());
}
}
The test looks as follows:
class ElasticSearchInstallerTest extends TestCase
{
/** @test **/
public function it_can_check_if_its_installable()
{
$requirements = m::mock('alias:ElasticSearch\Requirements');
$requirements->shouldReceive('checkRequirements')->once()->andReturn(true);
$installer = new ElasticSearchInstaller($requirements);
$this->assertInternalType('bool', $installer->isInstalled());
}
}
Although for some reason it does not pass, as the mock says checkRequirements() is not being called and expects to be called once.
1) ElasticSearchInstallerTest::it_can_check_if_its_installable
Mockery\Exception\InvalidCountException: Method checkRequirements() from App\ElasticSearch\Requirements should be called
exactly 1 times but called 0 times.
Aucun commentaire:
Enregistrer un commentaire