Je ne peux pas définir de valeur pour la méthode interne lorsque j'essaie de tester. Ici, j'ai écrit un exemple de classe. J'ai créé un objet simulé pour la même classe mais n'a aucun effet.Valeur de réglage pour la méthode interne dans l'unité php
class A
{
public function OneTest()
{
if($this->TwoTest()){
return true;
}
}
public function TwoTest()
{
// return somethings
}
}
Je suis nouveau à l'écriture de test phpunit. si un expert m'aide aussi bien pour moi. Je veux tester cette méthode. J'ai essayé avec:
class ATest extends \PHPUnit_Framework_TestCase
{
public function testOne()
{
$helper = new testOne();
// trying to set TwoTest() method value but does not effect.
$mock = $this->createMock(A::class);
$mock->method("TwoTest")
->willReturn(true);
$this->assertTrue($helper->OneTest();
}
}
En fait, je ne sais pas comment utiliser mon résultat de moquerie. Mon implémentation réelle dans la méthode twoTest contient du code lié à la base de données. Je ne veux pas exécuter le code DB dans le temps de test.