Zend studio找不到用于PHPunit数据库测试的xml文件

时间:2013-10-21 14:21:39

标签: php phpunit zend-studio

我一直在尝试学习一些关于PHPunit测试的知识,并且一直在学习本教程http://www.sitepoint.com/bulletproofing-database-interactions/我无法让程序找到' seed.xml(在ArticleDAOTest.php中)这个文件是作为PHPunit测试运行的,两个测试都失败说“找不到xml文件:seed.xml”。我把这个文件放在与其他文件相同的目录中,并仔细检查拼写等但没有运气。这是迄今为止的代码

ArticleDAOTest.php

<?php
require_once 'PHPUnit/Extensions/Database/TestCase.php';
require_once "PHPUnit/Autoload.php";
require_once "IArticleDAO.php";
require_once "ArticleDAO.php";

class ArticleDAOTest extends PHPUnit_Extensions_Database_TestCase
{
public function getConnection() {
    $db = new PDO(
            "mysql:host=localhost;dbname=unittesteg",
            "root", "password");
    return $this->createDefaultDBConnection($db, "unittesteg");
}

public function getDataSet() {
    return $this->createXMLDataSet('seed.xml');
}

public function testGetArticlesNonHome() {
    $articleDAO = new ArticleDAO();
    $articles = $articleDAO->getArticles(1, false);
    $this->assertEquals(
            array(
                    array("id" => 1, "title" => "Android vs iOS"),
                    array("id" => 2, "title" => "Android vs Wp7"),
                    array("id" => 3, "title" => "iOS 5")),
            $articles);
}

public function testGetArticlesNonHomeNoArticles() {
    $articleDAO = new ArticleDAO();
    $articles = $articleDAO->getArticles(2, false);
    $this->assertEquals(array(), $articles);
}
}

并且seed.xml是

<?xml version="1.0" ?>
<dataset>
 <table name="sections">
  <column>id</column>
  <column>name</column>
  <row>
   <value>1</value>
   <value>Gadgets</value>
  </row>
  <row>
   <value>2</value>
   <value>Programming</value>
  </row>

等。正如我所说,他们都在同一个文件夹中,但它仍然无法找到它。

任何帮助将不胜感激

(完整的源代码可以在https://github.com/phpmasterdotcom/BulletproofingDatabaseInteractions

找到

由于

1 个答案:

答案 0 :(得分:0)

当然看起来像路径问题。通过输出realpath('seed.xml')尝试调试。如果失败,请修复您的路径。