Исходное сообщение об ошибке, которое вы получили, совершенно правильное - если посмотреть на , документы Sinon , .calledOnce
- это не функция, это javascript get
, который выполняет код. В общем, ожидания Чая кажутся функциями, только если им нужны параметры.
Я нахожу это немного раздражающим, потому что get
перегрузка не очень хороша и ломает нашу способность рассуждать о коде, и это вызывает кучу ошибок, но эй хо.
Изменение ожидаемого значения на
expect(floopStub).to.have.been.calledOnce;
исправляет тест (по крайней мере, на моей машине!)
Причина, по которой код кажется «работающим» во втором примере, заключается в том, что тест разрешает операцию calledOnce
get, которая проверяет условие и генерирует утверждение о неудачном тестировании, поэтому никогда не возникает вероятность выбросить исходную ошибку, пытаясь вызвать результат get
, как если бы он был функцией.
Между прочим, легче инициировать событие щелчка с помощью встроенного вызова фермента .simulate()
. Этот код работает нормально:
const floopStub = sinon.stub();
const wrapper = shallow( );
wrapper.find('#FloopButtonId').dive().simulate('click');
expect(floopStub).to.have.been.calledOnce;
Более подробную информацию о тестировании событий React с помощью синона / энзима можно найти здесь: https://www.leighhalliday.com/testing-react-jest-enzyme- Sinon
Да. Чтобы сделать это, Вам будет нужен доступ к записям DNS для Вашего домена. Запись MX позволяет Вам настраивать почтовый сервер, это является отдельным от веб-сервера.
Google предлагает услугу, которая будет управлять электронным письмом Вашего домена через Gmail и инструкциями относительно того, как реконфигурировать Ваш DNS для этого сервиса, может быть найден здесь.
Возможно, неважно, где они расположены, пока Вы имеете контроль над своими записями DNS. Я выполнил много сайтов, где веб-сервер расположен в нашем здании, и почтовый сервер на собственном сайте клиента, соединенном с через несвязанный ISP. В одном случае веб-сервер находится в США, и почтовый сервер находится в Великобритании.
Записи DNS могут быть на другом сервере снова. Некоторые регистраторы включают редактирование записи DNS в их интерфейс, другие просто позволяют Вам установить DNS на другой сервер.
Записи, которые определяют почтовый сервер, называют записями MX. Они берут название почтового сервера (не, это - IP-адрес). Записи, которые поворачивают имена к IP-адресам, называют записями - Вы используете их для "www" и т.д.