Comment tester les méthodes concrètes d'une classe abstraite avec PHPUnit ?
Je m'attendrais à devoir créer une sorte d'objet dans le cadre du test. Cependant, je n'ai aucune idée de la meilleure pratique pour cela ou si PHPUnit le permet.
Comment tester les méthodes concrètes d'une classe abstraite avec PHPUnit ?
Je m'attendrais à devoir créer une sorte d'objet dans le cadre du test. Cependant, je n'ai aucune idée de la meilleure pratique pour cela ou si PHPUnit le permet.
Lorsque vous utilisez les tests unitaires, vous ne testez pas l'interface en soi mais la fonctionnalité. Vous ne pouvez pas tester la fonctionnalité d'une classe abstraite car elle n'en a pas.
Lorsque vous faites un test, vous écrivez d'abord le test. avant vous écrivez l'interface. Par exemple : Je pourrais écrire le test suivant :
$user = UserFactory::CreateUser();
$user->user_username = "nelson";
$user->Save();
$id = $user->user_id;
$user2 = UserFacotry::CreateUser();
$user2->Load($id);
if ($user2->user_username != "nelson")
die a miserable death
Avant d'écrire réellement le code. Après cela, j'écrirais la classe abstraite de l'utilisateur :
abstract class IUser
{
abstract function Load();
abstract function Save();
}
)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
10 votes
Vous devriez peut-être envisager de modifier la réponse acceptée.
1 votes
Peut-être stackoverflow.com/a/2947823/23963 vous aidera.