zend-framework - 尝试截断Zend Db单元测试失败

标签 zend-framework phpunit

基本上,尝试以错误的顺序截断表时,由于“违反完整性”,我的测试失败了。

每个Db测试用例都扩展了PHPUnit_DatabaseTestCase_Abstract,它会在测试之前将表截断。当我在“属性”上一行时,由于错误,所有测试都失败了:查询时COMPOSITE [TRUNCATE]操作失败。

这是我的数据库架构:

-- -----------------------------------------------------
-- Table `project`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `project` (
  `project_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`project_id`) ,
  UNIQUE INDEX `project_id_UNIQUE` (`project_id` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `customer`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `customer` (
  `customer_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `firstname` VARCHAR(45) NOT NULL ,
  `lastname` VARCHAR(45) NOT NULL ,
  `email` VARCHAR(45) NOT NULL ,
  `telephone` VARCHAR(45) NULL DEFAULT NULL ,
  PRIMARY KEY (`customer_id`) ,
  UNIQUE INDEX `customer_id_UNIQUE` (`customer_id` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `property`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `property` (
  `property_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `project_id` INT UNSIGNED NOT NULL ,
  `customer_id` INT UNSIGNED NULL DEFAULT NULL ,
  `name` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`property_id`) ,
  UNIQUE INDEX `property_id_UNIQUE` (`property_id` ASC) ,
  INDEX `fk_property_project` (`project_id` ASC) ,
  INDEX `fk_property_customer1` (`customer_id` ASC) ,
  CONSTRAINT `fk_property_project`
    FOREIGN KEY (`project_id` )
    REFERENCES `project` (`project_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_property_customer1`
    FOREIGN KEY (`customer_id` )
    REFERENCES `customer` (`customer_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

我测试错了吗?在测试之前,如何指定以正确的顺序截断?

Zend版本1.11.5

该错误应该是固定的(请检查framework zend forum

最佳答案

当您想使用phpunit来测试数据库时,我认为最好为此扩展和使用ZF的类:Zend_Test_PHPUnit_DatabaseTestCase而不是直接扩展PHPUnit_DatabaseTestCase_Abstract。也许这是您问题的一部分。

关于zend-framework - 尝试截断Zend Db单元测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905796/

相关文章:

JavaScript 验证和 Zend_Form

php - 使用 Jquery 和 Ajax 动态填充表单

php - 模拟测试对象的公共(public)方法

PHPUNIT 无需安装

php - "Call to undefined method PHPUnit\Framework\TestSuite::sortId()"执行覆盖率测试用例时出错

php - 当我将 Zend_Db_Table_Abstract 与 select 和 join 一起使用时,fetchAll 返回一行

ruby-on-rails - 网站的 Web 前端缓存最佳实践?

php - Zend AMF 优化;技巧和窍门?

PhpUnit 与 Zend Framework 内存问题

testing - Symfony2 - 根据 PHPUnit 配置重置环境