2013-10-21 20 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