【问题标题】:Mysql SAVEPOINT in PHPUnit TestsPHPUnit测试中的Mysql SAVEPOINT
【发布时间】:2011-07-01 06:15:48
【问题描述】:

我在运行创建新配置文件的 PHPUnit 测试时遇到问题,我的代码不允许 profile_name 重复,因此每次运行测试时我都必须手动更改它。我实际上想过在测试运行之前创建一个 SAVEPOINT,然后在测试结束时创建 ROLLBACK..

我设置代码的代码是:

require_once "PHPUnit/Extensions/Database/TestCase.php"

protected function getDatabaseTester()
{
  $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
  $conn = new PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection($pdo, 'test');
}

public function testMyTestCase()
{
  $query = mysql_query(SAVEPOINT last_record);
  *my testing methods thats works fine*
  $query = mysql_query(ROLLBACK last_record);
}

我做错了什么,因为它根本不起作用..

谢谢 D~~~

【问题讨论】:

  • “不起作用”是什么意思?它应该做什么?它在做什么呢?有什么错误吗?警告?
  • 嗨 Piskvor,它应该在进行事务之前回滚到以前的数据库状态,目前它只给我 profile_name 存在的验证错误..没有警告它只有验证错误.

标签: php mysql phpunit


【解决方案1】:

您可以通过以下方式提供更多信息:

 echo mysql_errno() . ": " . mysql_error(). "\n";
 $query = mysql_query("ROLLBACK TO SAVEPOINT last_record");

 

【讨论】:

    猜你喜欢
    • 2011-05-31
    • 2018-01-17
    • 2015-12-29
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多