2015-03-21 2 views
2

форма включает отборный вариант для этнической принадлежности:Невозможно выбрать значение параметра в функциональном тесте

Ethnicity: <select id="household_members_0_ethnicity" name="household[members][0][ethnicity]" class="smallform"> 
<option value=""></option> 
<option value="2">AfrAm</option> 
<option value="3">Asian</option> 
<option value="1" selected="selected">Cau</option> 
<option value="6">HaPI</option> 
<option value="4">Hisp</option> 
<option value="5">NtvAm</option> 
<option value="7">Oth</option> 
<option value="8">Unk</option> 
</select> 

Функциональный тест содержит $form["household[members][0][ethnicity]"]->select(6);

и возвращает

InvalidArgumentException: Ввод «бытовые [ члены] [0] [этническая принадлежность] " не может принимать значение" 6 "(возможные значения:).

Обратите внимание, что возможные значения пустые. Я пробовал тестирование с select("6") и select("HaPI") и комбинациями других опций, все безрезультатно.

Fwiw, есть аналогичный выбор для пола, а $form["household[members][0][sex]"]->select('Male'); НЕ выбрасывает исключение.

Я также попытался ввести значения $form() в форме массива без каких-либо изменений в результатах.

Различие между полями полов и этнической принадлежности состоит в том, что гендер является явным полем выбора, этническая принадлежность - это область сущности.

$form["household[members][0][ethnicity]"]->availableOptionValues(); возвращает пустой массив;

$form["household[members][0][sex]"]->availableOptionValues(); возвращает массив значений и параметров;

+0

Итак, настоящая проблема заключается в том, почему нет возможности выбора? Поскольку это сущность, имеет ли «национальность» значения в базе данных? –

+0

@ A.L. Наиболее вероятно, что база данных заполнена - вот откуда появляются отображаемые параметры. Они не были «жесткими». – geoB

+0

Хорошо, но у вас есть сообщение * (возможные значения:). * Поэтому нет выбора. –

ответ

0

InvalidArgumentException: Входные данные «домашние [члены] [0] [этническая принадлежность]» не могут принимать значение «6» в качестве значения (возможные значения:).

Сообщение об ошибке должно отобразить список возможных значений, не (возможные значения:). Вы должны проверить, что в среде test это поле заполнено записями объекта ethnicity. Согласно вашему комментарию, вы используете базу данных SQLite, поэтому вам нужно проверить, что ваши данные вставляют некоторые данные для объекта ethnicity.

Смежные вопросы