我的数据库没有立即插入

时间:2009-11-01 22:15:24

标签: php sql cakephp simpletest

我正在尝试将测试驱动开发应用于生成网页,并且无法使用我的数据库。我正在使用Cake 1.1,PHP5和SimpleTest进行单元测试。

我的问题是我有一个测试:

  1. 使用直接SQL语句插入行
  2. 测试是否插入了该行(通过使用我的主程序中的函数。)
  3. 删除已插入的行。
  4. 步骤1和3都可以正常工作,但步骤2失败。

    重要的是要意识到,如果我在不删除行的情况下运行测试(我已经注释掉了),然后再次运行测试,但首先取消步骤1(再次简单地评论该行)并且测试通过没有问题。

    我还尝试在PHPMyAdmin中直接运行SQL语句(在编辑器中一个接一个地运行),它们运行良好。

3 个答案:

答案 0 :(得分:3)

是否所有步骤都在同一交易中执行?

否则,在步骤1提交之前,步骤2无法看到步骤1的结果。

答案 1 :(得分:1)

听起来你的插入发生在你尝试测试时尚未提交的事务中。

你能提供一些示例代码吗?

答案 2 :(得分:0)

您确定要在步骤1中提交交易吗?