Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> phpunit lapanie wyjatkow
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Hejka, uzywam PHPUNit 6.3.0 i probuje lapac wyjatki jednak nie dziala

  1. use DataService\Exception\FileIOException;
  2.  
  3. ....
  4.  
  5. /**
  6.   * @expectedException FileIOException
  7.   */
  8. public function testLoadWithWrongFilePath(): void
  9. {
  10. throw new FileIOException('Aa');
  11. }
  12.  

Przy czyms takim dostaje blad
ReflectionException: Class FileIOException does not exist

oczywiscie klasa ta instnieje, namespace i wszystko jest ok. Gdy odpalam normalne obiekty (nie wyjatki) z tyych samych namespace wszystko dziala.

Zas gdy odpalam jakas metode, ktora rzuca tym wyjatkiem, to nie ma bledu, ze klasa wyjatku nie istnieje, jednak skolei w ogole nie lapie tego wyjatku i zglasza blad, ze rzucilo wyjatkiem ktorego nie zlapalo.
  1. use DataService\Exception\FileIOException;
  2. use DataService\FileIO\QuestionsFileIO;
  3.  
  4. ....
  5.  
  6. /**
  7.   * @expectedException FileIOException
  8.   */
  9. public function testLoadWithWrongFilePath(): void
  10. {
  11. $questionsIO = new QuestionsFileIO();
  12. $questionsIO->load('/wrong/path.scv'); // ta metoda rzuca wyjatkiem FileIOException
  13. }



Bawilem sie w jakies xdebug.show_exception_trace bo tylko to znalazlem w necie ale nie tez nic to nie poprawia.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Kod
<?xml version="1.0" encoding="UTF-8"?>

<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.8/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="vendor/autoload.php"
>
    <php>
        <ini name="error_reporting" value="-1" />
        <server name="KERNEL_DIR" value="./" />
    </php>

    <testsuites>
        <testsuite name="functional">
            <directory>tests/Functional</directory>
        </testsuite>
        <testsuite name="unit">
            <directory>tests/Unit</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist>
            <directory>src</directory>
        </whitelist>
    </filter>

    <logging>
        <log type="coverage-html" target="/var/www/html/phpunit_data-service/report" lowUpperBound="35" highLowerBound="70"/>
        <log type="junit" target="/var/www/html/phpunit_data-service/logfile.xml" logIncompleteSkipped="false"/>
        <log type="coverage-clover" target="/var/www/html/phpunit_data-service/coverage.xml"/>
    </logging>
</phpunit>


Czyzbys zmierzal do tego:
<ini name="error_reporting" value="-1" />
?
Jesli tak to ja chce by mi sie wyswietlaly generalnie wszystkie bledy php
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 17:28