私は PHP で TDD を試しており、MySQL データベースの記事にアクセスするための Web ベースのアプリを作成しています。これはテスト関数です:
class TestArticleTestCase extends UnitTestCase {
...
public function testArticleGenerateInsertSqlString() {
$testArticle = new Article("12345", "2009-09-13 20:20:20", "Test heading", "Test text");
...
}
これは Article クラスです:
class Article {
private $_articleId;
private $_pubDate;
private $_heading;
private $_text;
public function __construct($articleId, $pubDateUnchecked, $headingUnescaped, $textUnescaped) {
echo "pubDateUnchecked == $pubDateUnchecked </BR>";
...
}
データベース内の日付は記事を初期化したものではなかったため、エコーをコンストラクターに含めました。確かに、問題をトレースします。これは、コンストラクターでのエコーの出力です。
pubDateUnchecked == 2005-06-01 12:00:00
たぶん、私はこのコードをあまりにも長く見つめていましたが、日付として操作を開始する前に、インスタンス化した場所からインスタンス化された場所に文字列を変更するにはどうすればよいですか (strtotime で許容される日付形式であることを確認します) () および date() 後で..)。
誰かがどこを見ればよいかについて何か考えがありますか?
ありがとう、ステファン。