Следуя серии Laracasts TDD, я нашел изящный небольшой способ написания тестов модели для обязательных полей, которые могут оказаться полезными. Я не хотел повторять код, который Джеффри использовал в 3= отдельных функциях для создания проекта через фабрику с одним пустым конкретным полем, а затем проверять, есть ли в нем ошибки. Кроме того, как прирожденному программисту, мои инстинкты не позволяют мне просто бездумно следовать инструкциям, не думая, что я должен сделать что-то лучше, чем то, что мне показывают.
Таким образом, родился основанный на массивах подход к тестированию требований модели.
Это довольно прямолинейно, поскольку я просто предварительно определяю массив полей, которые модель помечает как обязательные, затем перебираю каждый атрибут, чтобы создать проект с этим точным пустым полем, а затем утверждаю, были ли у сеанса какие-либо проблемы с ним. . То же, что и Джеффри на индивидуальной основе.
Что становится крутым, так это то, что я расширил это, чтобы протестировать другую модель, которая имеет отношение к первой модели. В этом приложении «Задачи» относятся к «Проектам». У задач также есть обязательные поля, поэтому я сначала создаю проект, а затем, перебирая каждое поле, обязательно связываю задачу, потому что обновление задачи выполняется через отношения проекта.
Надеюсь это поможет :)