2010-04-29 5 views
0

У меня есть несколько вопросов, связанных с использованием монорельсовоймонорельсовая дорога: Тестирование, Маршрутные Расширения, структуры папок

Testing

ли все стремятся использовать NUnit для их тестирования? Я не работал достаточно с тестированием, чтобы знать, является ли это хорошей основой для тестирования. Я просто стараюсь больше тестировать свои приложения намного раньше, чем раньше, и хотел бы знать, есть ли общие рекомендации.

Вы хотите скопировать контроллер в тестовую зону и просто переименовать его с тестом на имя и повторно запустить его? Как вы гарантируете, что ваш тестовый проект и главный проект совпадают друг с другом? Это всего лишь случай копирования всего заново или есть инструменты, доступные для вас?

маршрута Расширения

MonoRail стремится использовать <action>.rails, вы можете опустить .rails часть, если вы настроить маршрутизацию правильно? Почему это кажется стандартом?

структуры папок

Я не нашел в любом месте, которое действительно указывает на стандартную структуру папок. Конечно, у вас есть контроллеры, модели и виды. Но папка «Модели» также должна содержать ваши объекты доступа к данным. Я видел, что у некоторых есть что-то вроде

-> Models 
    -> DaoClasses 
    -> Entities 

Но как насчет пользовательских структур, используемых для получения данных из вида И если вы используете NHibernate, где хорошее место для привязки сопоставлений? Я знаю, что это полностью зависит от разработчика, но я не видел никакого стандартного подхода.

Приветствия

+1

Думаю, было бы лучше, если бы вы разбили это на три вопроса, поскольку они совершенно не связаны. Я бы сказал: 1. «Перейдите по любому руководству стартера NUnit» 2. Да. это было стандартом, так как в IIS6 дни, у неограниченных URL-адресов была полная стоимость на сервере, если вы также обслуживали статический контент с того же сайта. 3. Это очень индивидуально. Я бы указал вам на «Архитектуру лука» для хорошего предложения http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ –

+0

Что касается пункта 2, у них все еще есть затраты на производительность или вы можете изменить у ваших маршрутов есть папка с «статическим ресурсом»? – Kezzer

ответ

2

MonoRail не навязывает какой-либо конкретной основы тестирования. Вы можете использовать NUnit, MsTest, MbUnit, xUnit и т. Д. Вы можете ошибиться с NUnit. Кажется, вам нужно ознакомиться с модульным тестированием, найти введение в тему в Интернете. В принципе, вы создаете тестовый проект с ссылкой на ваш фактический проект (никогда не копируйте код), и вы кодируете свои тесты против вашего фактического кода. Для тестирования, специфичного для MonoRail, см. this wiki page.

Я не очень хорошо знаком с маршрутизацией MonoRail, но я думаю, что расширение .rails часто появляется, потому что маршруты с неограниченным доступом были несколько сложны на IIS6. В IIS7 это не должно быть проблемой. Кроме того, routing documentation использует .aspx как расширение.

This is the standard folder structure для проекта MonoRail.

Общим подходом к использованию NHibernate в приложении MonoRail является создание отдельного проекта для классов NHibernate, а затем ссылка на этот проект из веб-проекта. Или вы можете просто собрать все вместе в одном проекте, но по крайней мере поместить объекты NHibernate в отдельное пространство имен.

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