Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 尝试截断时Zend Db单元测试失败_Zend Framework_Phpunit - Fatal编程技术网

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

Zend framework 尝试截断时Zend Db单元测试失败,zend-framework,phpunit,Zend Framework,Phpunit,基本上,我的测试失败是因为在尝试以错误的顺序截断表时出现了“完整性冲突” 每个Db测试用例都扩展了PHPUnit_DatabaseTestCase_Abstract,它在测试之前截断表。当我在属性中有一行时,由于错误,所有测试都失败:查询的复合[TRUNCATE]操作失败 这是我的数据库架构: -- ----------------------------------------------------- -- Table `project` -- -----------------------

基本上,我的测试失败是因为在尝试以错误的顺序截断表时出现了“完整性冲突”

每个Db测试用例都扩展了PHPUnit_DatabaseTestCase_Abstract,它在测试之前截断表。当我在属性中有一行时,由于错误,所有测试都失败:查询的复合[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


这个错误应该被修复(检查当您想使用phpunit测试您的数据库时,我认为最好扩展并使用ZF的类:而不是直接扩展phpunit_DatabaseTestCase_Abstract。这可能是您的问题的一部分。

嗨,Marcin,谢谢您的回复。我的数据库测试用例扩展了phpunit_DatabaseTestCase_Abstract,因为这是一个扩展Zend_Test_PHPUnit_DatabaseTestCase的personal类。