Я бы пока не слишком беспокоился об определениях - в любом случае, между различными формами тестирования и BDD существует множество размытых границ.
WRT Ватин, я полагаю, вы говорите о тестированиичерез браузер?Вы можете проверить через браузер или «подкожно» непосредственно на своих контроллерах, оба являются допустимыми способами выполнения BDD.Этот выбор в большей степени зависит от того, что вы пытаетесь протестировать, насколько быстро вы хотите, чтобы ваши тесты выполнялись, и т. Д.
С точки зрения ваших спецификаций я вижу, что их может быть немного сложно реализовать,Вы, вероятно, хотите иметь разные спецификации для действительных / недействительных отправлений, например:
[Subject(typeof(CompanyHomeController))]
public class company_form_submitted_with_fields_completed
{
It should_save_all_the_details_to_the_main_list;
It should_take_the_user_back_to_the_company_list_page;
}
[Subject(typeof(CompanyHomeController))]
public class company_form_submitted_with_some_fields_missing
{
It should_remain_on_the_company_edit_page;
It should_warn_that_the_company_field_is_required;
}
(обратите внимание, что вам не нужны модификаторы 'private', которые немного его очищают).