Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.05.2018, 12:15
rammi22 rammi22 ist offline
Engagierter Besucher
 
Registriert seit: 11.03.2011
Ort: Berlin, Deutschland
Beiträge: 839
Standard Class 'PHPUnit\Framework\TestCase' not found

Hallo,

die global installierte PHPUnit Datei wird vom TestScript aus nicht gefunden. Ich betreibe einen Apache Server in einer Virtuellen Maschine mit Debian 8 und PHP 5.6 und PHPUnit 4.2.6.

DateiStruktur:

Code:
guestbook/
|-- ...
    |---- ...
|-- functions
    |---- autoload.php
|-- htdocs
    |---- ...
    |---- .htaccess
    |---- index.php
|-- src
    |---- ...
|-- test
    |---- FrontendTests
    |---- UnitTests
           |---- Guestbook
                   |---- GuestbookRepositoryTest.php
           |---- phpunit.xml
|-- ...


GuestbookRepositoryTest.php
PHP Quellcode:
<?php

namespace Guestbook;

use PHPUnit\Framework\TestCase;

class GuestbookRepositoryTest extends TestCase {

  public function testTest() {
    var_dump('vars');
  }
}


TestCase.php liegt hier
Code:
/usr/share/php/PHPUnit/Framework/TestCase.php


die autoload.php (fängt PHPUnit ab)
PHP Quellcode:
<?php
spl_autoload_register(function ($classPath) {

  $file = __DIR__ . '/../src/' . str_replace('\\', '/', $classPath) . '.php';

  if (explode('\\', $classPath)[0] === 'PHPUnit') {
    $file = __DIR__ . '/../../../usr/share/php/PHPUnit/Framework/TestCase.php';
  }

  if (file_exists($file)) {
    require_once $file;
  }
});


Der Befehl zum ausführen des Tests
Code:
root@test:~# phpunit --configuration /media/sf_guestbook/test/UnitTests/phpunit.xml --testsuite homepage


und als Antwort bekomme ich
Code:
PHP Fatal error: Class 'PHPUnit/Framework/TestCase.php' not found in /media/sf_guestbook/test/UnitTests/Guestbook/GuestbookRepositoryTest.php on line 7


Da liegt sie ja auch nicht, und registriert sollte die Klasse doch sein... Also stimmt irgendwas am Pfad zur ...TestCase.php nicht?
Auch Versuche mit
PHP Quellcode:
...
  if (explode('\\', $classPath)[0] === 'PHPUnit') {
               $file = '/usr/share/php/PHPUnit/Framework/TestCase.php';
       }

        if (file_exists($file)) {
               ....
        }
....
schlugen fehl, Obwohl die file_exist() true zurückgibt. Ich verstehe spl_autoload_register() nun so, das die Klasse registriert ist und benutzt werden kann. Aber offensichtlich liege ich da falsch...

Was also muss ich anpassen?
__________________
Gruss Rammi

Win 7 PRO || PostgreSQL 9.3.4, compiled by Visual C++ build 1600, 32-bit || XAMPP 1.8.1 || PHP: 5.4.7 || PSPad 4.5.7
Mit Zitat antworten
  #2  
Alt 16.05.2018, 14:17
rammi22 rammi22 ist offline
Engagierter Besucher
 
Registriert seit: 11.03.2011
Ort: Berlin, Deutschland
Beiträge: 839
Standard AW: Class 'PHPUnit\Framework\TestCase' not found

Die Class TestCase gibt es gar nicht, so geht es:

GuestbookRepositoryTest.php
PHP Quellcode:
<?php

namespace Guestbook;

require_once '/usr/share/php/PHPUnit/Framework/TestCase.php';

class GuestbookRepositoryTest extends \PHPUnit_Framework_TestCase {

  public function testTest() {
    var_dump('vars');
  }
}
__________________
Gruss Rammi

Win 7 PRO || PostgreSQL 9.3.4, compiled by Visual C++ build 1600, 32-bit || XAMPP 1.8.1 || PHP: 5.4.7 || PSPad 4.5.7
Mit Zitat antworten
  #3  
Alt 16.05.2018, 17:06
Don T. Worry Don T. Worry ist offline
Engagierter Besucher
 
Registriert seit: 29.03.2012
Beiträge: 521
Standard AW: Class 'PHPUnit\Framework\TestCase' not found

Zitat:
Zitat von rammi22 Beitrag anzeigen
Die Class TestCase gibt es gar nicht
Bzw. es gibt sie nicht mit Namespace.
__________________
“Just think of how stupid the average person is, and then realize half of them are even stupider!” [George Carlin]

“There is only one god, and His name is Death. And there is only one thing we say to Death: "not today".” [Syrio Forel]
Mit Zitat antworten
  #4  
Alt 17.05.2018, 10:04
rammi22 rammi22 ist offline
Engagierter Besucher
 
Registriert seit: 11.03.2011
Ort: Berlin, Deutschland
Beiträge: 839
Standard AW: Class 'PHPUnit\Framework\TestCase' not found

Zitat:
Zitat von Don T. Worry Beitrag anzeigen
Bzw. es gibt sie nicht mit Namespace.
Ja, das fehlt auch, also vorsichtig bei der Umsetzung laut Doku für diese Version
__________________
Gruss Rammi

Win 7 PRO || PostgreSQL 9.3.4, compiled by Visual C++ build 1600, 32-bit || XAMPP 1.8.1 || PHP: 5.4.7 || PSPad 4.5.7
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
phpunit test - Class 'phpunit\framework\TestCase' not found phptrainee PHP 19 24.07.2016 04:01
PHPUnit, Zend-Framework und Module ... karpow PHP 7 08.05.2012 05:57
Problem bei der Instanziierung: Class not found Tviskjola PHP 13 06.11.2010 21:18
ffmpeg - class not found web4free PHP 51 10.10.2006 17:43
SQL Abfrage / Class not found Blone PHP 6 28.09.2006 11:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:33 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC