Frage

I have been trying to learn a bit about PHPunit testing and have been following this tutorial http://www.sitepoint.com/bulletproofing-database-interactions/ I have been unable to get the program to find the 'seed.xml (in ArticleDAOTest.php) when this file is run as PHPunit test, both tests fail saying 'could not find xml file: seed.xml. I have this file in the same directory as the other files and double checked spelling etc but no luck. Here is the code so far

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);
}
}

and the seed.xml is

<?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>

etc. as i said they are both in the same folder but it still cant find it.

any help would be much appreciated

(full source code can be found at https://github.com/phpmasterdotcom/BulletproofingDatabaseInteractions)

Thanks

War es hilfreich?

Lösung

Sure looks like a path issue. Try debugging by outputting realpath('seed.xml'). If that fails, fix your path.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top