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