2013-10-21 18 views
0

我一直在尝试学习一些关于PHPunit测试的知识,并且一直在关注本教程http://www.sitepoint.com/bulletproofing-database-interactions/我一直无法让程序找到'seed.xml(在ArticleDAOTest中。 PHP)当这个文件作为PHPunit测试运行时,两个测试都失败说'找不到xml文件:seed.xml。我将这个文件放在与其他文件相同的目录中,并且双重检查拼写等,但没有运气。这里是到目前为止的代码Zend工作室找不到PHPUnit数据库测试的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找到)

感谢

回答

0

当然看起来像一个路径问题。尝试输出realpath('seed.xml')进行调试。如果失败了,修复你的路径。

+0

对它进行排序。我必须将完整的路径名添加到seed.xml,直到c:\ php \ etc – cstu