PHPUnit & DBUnit - createFlatXMLDataSet Ошибка: строка не запущена - PullRequest
0 голосов
/ 28 октября 2018

Редактировать:

Как указал @nigelRen, проблема заключалась в кавычках.Я скопировал свой XML из документации DBUnit в качестве отправной точки, и кажется, что символы двойной кавычки, которые он поставил, не совпадали с символами двойной кавычки, которые я напечатал бы в моем редакторе.Переписывание их устраняет проблему.


Я новичок в использовании PHPUnit и теперь дополняю с помощью DBUnit.Я создал тестовую базу данных и использую createFlatXMLDataSet, чтобы заполнить ее данными в тестовом методе getDataSet () в соответствии с документами DBUnit.

Кажется, мой XML-файл неправильно отформатирован, судя по множеству ошибок LibXMLE:

RuntimeException: LibXMLError Object
   │ (
   │     [level] => 3
   │     [code] => 33
   │     [column] => 15
   │     [message] => String not started expecting ' or "
   │ 
   │     [file] => /Users/lookdangerous/mono/master/php/tests/customer-seed.xml
   │     [line] => 1
   │ )
   │ LibXMLError Object
   │ (
   │     [level] => 3
   │     [code] => 96
   │     [column] => 15
   │     [message] => Malformed declaration expecting version
   │ 
   │     [file] => /Users/lookdangerous/mono/master/php/tests/customer-seed.xml
   │     [line] => 1
   │ )
   │ LibXMLError Object
   │ (
   │     [level] => 3
   │     [code] => 65
   │     [column] => 15
   │     [message] => Blank needed here
   │ 
   │     [file] => /Users/lookdangerous/mono/master/php/tests/customer-seed.xml
   │     [line] => 1
   │ )

(Это лишь немногие из многих, которые я получаю.)

customer-seed.xml:

<?xml version=“1.0” encoding="UTF-8" ?>
<dataset>
    <customers
    GUID=“fe70e6fe-3e7f-4aa3-bf98-d48ed08ba80b”
    ClientID=“ANDE8834”
    />
    <customers
    GUID=“9f3d1594-a743-41c3-9787-2f8d916287a3”
    ClientID="FRAN3987"
    />
  <dependents />
  <rentals />
  <businesses />
</dataset>

И, наконец, код, вызывающий функцию:

return $this->createFlatXMLDataSet(dirname(__FILE__).'/customer-seed.xml');

Сначала это казалось проблемой с magic_qutoes для этого стекавопрос переполнения и этот , но потом я понял, что использую PHP 7+, поэтому он не должен применяться.

Кажется, что поведение похоже на магические кавычкибыли включены.Я также поставил под сомнение кодировку файлов и добавил тег кодирования, как показано выше, но безрезультатно.

...