Обычно, когда мы пишем сценарии BDD, мы пишем их с точки зрения пользователя.
Если пользователь обычный человек, им, вероятно, не слишком важно, является ли заголовок подлинным 404. Они предпочли бы страницу, дающую им ясное и полезное сообщение. Напишите сценарий, чтобы проверить наличие понятного и полезного сообщения.
Given no section on unicorns exists
When the user browses for horses
And changes the url to be about unicorns
Then the user should be told that no such page exists.
BDD на самом деле не о тестировании. Речь идет о разговорах, которые позволят вам обнаружить другие вещи, о которых вы не задумывались, и выработке общего понимания того, что должно произойти. Например, что происходит, когда обычный пользователь пытается получить доступ к странице администратора? Должны ли они получить «доступ запрещен» или просто не знать, что страница есть? Что делать, если страница удалена? Эти обсуждения более полезны, чем пытаться все уладить.
Если ваш 404 связан с определенным сообщением для пользователя, то вы можете просто выполнить модульное тестирование на соответствие соответствующего ответа. Это резко снизит вероятность случайной отправки неправильного кода с сообщением в будущем, и вы сможете сосредоточиться на реальной выгоде.