Редактировать:
Как отметил @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
│ )
(Это только некоторые из многих, которые я получаю.)
клиент-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+, поэтому он не должен применяться.
Похоже, что поведение такое, как будто включены магические кавычки. Я также поставил под сомнение кодировку файлов и добавил тег кодирования, как показано выше, но безрезультатно.
Задача ещё не решена.
Других решений пока нет …