Я пробую свои силы в TDD с PHP и пишу веб-приложение для доступа к статьям в базе данных MySQL; это тестовая функция:
class TestArticleTestCase extends UnitTestCase {
...
public function testArticleGenerateInsertSqlString() {
$testArticle = new Article("12345", "2009-09-13 20:20:20", "Test heading", "Test text");
...
}
и это класс статьи:
class Article {
private $_articleId;
private $_pubDate;
private $_heading;
private $_text;
public function __construct($articleId, $pubDateUnchecked, $headingUnescaped, $textUnescaped) {
echo "pubDateUnchecked == $pubDateUnchecked </BR>";
...
}
Я включил эхо в конструктор, потому что даты в базе данных не были тем, с чем я инициализировал статью, и, конечно же, отслеживая проблему, это вывод этого эха в конструкторе:
pubDateUnchecked == 01.06.2005 12:00:00
Может быть, я просто слишком долго смотрел на этот код, но как строка может измениться с того места, где я создаю ее экземпляр, на непосредственное место, где она создается, ДО того, как я начну манипулировать ею как датой (я проверяю, что она находится в допустимом формате даты с помощью strtotime () и date() позже..).
У кого-нибудь есть идеи, где искать?
Спасибо, Стефан.