Все, что Вы сделали, корректно, если Вы хотите, чтобы Ваш тест спросил, "Каково последнее событие, которое было сгенерировано?"
Ваш код запускает эти два события в этом Измененном Свойстве порядка
, "Корректно" ли это или не зависит от цели этих событий.
, Если Вы хотите протестировать число событий, которое увеличено, и порядок, в котором они повышены, можно легко расширить существующий тест:
[TestMethod]
public void Test_ThatMyEventIsRaised()
{
List<string> receivedEvents = new List<string>();
MyClass myClass = new MyClass();
myClass.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e)
{
receivedEvents.Add(e.PropertyName);
};
myClass.MyProperty = "testing";
Assert.AreEqual(2, receivedEvents.Count);
Assert.AreEqual("MyProperty", receivedEvents[0]);
Assert.AreEqual("MyOtherProperty", receivedEvents[1]);
}
Заголовок - это не то, что сообщает Apache отображать страницу 404. Напротив, , когда Apache отображает свою страницу 404, он отправляет вместе с ней заголовок 404. Заголовок должен иметь значение для браузера , а не для сервера. Apache отображает ошибку 404, когда не может найти нужный файл для отображения. Поскольку вы используете сценарий PHP, Apache уже нашел файл, который он может отображать, и поэтому не будет отображать собственную страницу 404.
Заголовки, отправляемые PHP, в данном случае имеют значение только для браузера. Apache не собирается создавать свою собственную страницу, потому что вы уже обрабатываете страницу, и если вы что-то отправите, они будут конфликтовать.
Да, файл .htaccess
остановит Apache от отображение страницы с ошибкой, потому что ваши правила заставляют Apache думать, что у него больше нет ошибки 404
, потому что он нашел страницу для отображения.
Отправка заголовка на самом деле является только «сообщением о статусе», а не не заставляйте браузер или сервер показывать определенную страницу. (Хотя большинство браузеров это делают.)
Как Дэв указал в комментариях, вы захотите отправить 404 ошибки на их собственную страницу ошибок.