Je m'essaie à TDD avec PHP et j'écris une application web pour accéder aux articles dans une base de données MySQL; c'est la fonction de test:PHP: le paramètre string de __construct n'est pas passé correctement
class TestArticleTestCase extends UnitTestCase {
...
public function testArticleGenerateInsertSqlString() {
$testArticle = new Article("12345", "2009-09-13 20:20:20", "Test heading", "Test text");
...
}
et c'est la classe Article:
class Article {
private $_articleId;
private $_pubDate;
private $_heading;
private $_text;
public function __construct($articleId, $pubDateUnchecked, $headingUnescaped, $textUnescaped) {
echo "pubDateUnchecked == $pubDateUnchecked </BR>";
...
}
J'inclus l'écho dans le constructeur parce que les dates de la base de données n'a pas été ce que j'initialisés l'article avec, et bien sûr, trouver le problème, c'est la sortie de l'écho dans le constructeur:
pubDateUnchecked == 2005-06-01 12:00:00
Peut-être que j'ai juste regardé ce code trop longtemps, mais comment la chaîne peut-elle changer d'endroit où je l'instancie directement, avant de commencer à la manipuler comme une date (je vérifie qu'elle est dans un format de date autorisé avec strtotime() et date() plus tard ..).
Est-ce que quelqu'un a des idées sur où chercher?
Merci, Stephan.
êtes-vous sûr? Je ne vois rien de mal dans ce code – knittl