Как интегрировать LinqToSql с аннотациями метаданных - PullRequest
1 голос
/ 20 мая 2009

Я только начинаю работу над новым проектом MVC, и, как хороший мальчик, я пытаюсь отложить посещение БД как можно дольше. Вот совок:

  1. Я планирую использовать украшения ComponentModel.DataAnnotations.
  2. Я также планирую использовать LinqToSql

Можно ли написать модульный тест для классов метаданных DataAnnotations? Я не хочу помещать такую ​​схему до тех пор, пока это возможно, но я все же хотел бы написать тесты для проверки модели.

Есть идеи о хорошем подходе? Может быть, что-то совершенно другое?

1 Ответ

1 голос
/ 17 июля 2009

Брэд Уилсон написал отличный пост в блоге об использовании DataAnnotations и модульном их тестировании; http://bradwilson.typepad.com/blog/2009/04/index.html

Суть стратегии тестирования такова:

  1. Напишите тест, чтобы убедиться, что вы используете DataAnnotationsModelBinder в качестве связующего по умолчанию.
  2. Используйте отражение, чтобы убедиться, что атрибуты DataAnnotation, которыми вы украсили свойства модели, соответствуют вашим ожиданиям.
  3. При тестировании действий контроллера «Редактировать» или «Создать» искусственно введите ModelErrors, чтобы проверить, что вы обрабатываете их должным образом.

Смысл в том, что вы относитесь к System.ComponentModel.DataAnnotations как к части инфраструктуры и просто проверяете, как вы ее использовали.

...