public function testEtcGeneratesCorrectSQL()
{
$model = new ClassBeingTested();
// do some stuff
$sql = $model->__toString();
$this->assertEquals('SELECT foo.* FROM foo WHERE bar = 1', $sql);
}
问题是适配器之间转义的差异。如果我使用Pdo_Mysql运行这个测试,我会得到如下错误:
--- Expected
+++ Actual
@@ @@
-SELECT foo.* FROM foo WHERE bar = 1
+SELECT `foo`.* FROM `foo` WHERE `bar` = 1
如果使用Sqlite适配器:
--- Expected
+++ Actual
@@ @@
-SELECT foo.* FROM foo WHERE bar = 1
+SELECT "foo".* FROM "foo" WHERE "bar" = 1