PHPUnit и DBUnit - ошибка createFlatXMLDataSet: строка не запущена

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

Как отметил @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+, поэтому он не должен применяться.

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

Можете ли вы проверить кавычки, которые вы используете, то есть “1.0” и кавычки для атрибутов GUID

Nigel Ren 28.10.2018 19:18

@NigelRen хороший глаз! Подобные вещи случались со мной раньше, в основном при копировании и вставке кода из различных онлайн-источников документации. Похоже, что цитаты, которые я использовал, были чем-то отличным от обычных двойных кавычек ... Опять же, хороший глаз! Если хотите, напишите ответ, который говорит что-то подобное ниже, и я приму его.

Jade Steffen 28.10.2018 19:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
123
0

Другие вопросы по теме