От новичка до гуру: Курсы программирования на CyberDuff

Angular 4 Jasmine Actuality — это не функция

Я делаю expect(ClassUnderTest.someMethod(withSomeParams)).toThrow() и получаю:-

Error: <toThrow> : Actual is not a Function
Usage: expect(function() {<expectation>}).toThrow(<ErrorConstructor>, <message>)

и я не понимаю пример использования.

Я пробовал expect(() => ClassUnderTest.someMethod(withSomeParams)).toThrow(), получил Expected function to throw an exception.. И попробовал: -

ClassUnderTest.someMethod(withSomeParams)
              .subscribe( res => res,
                          err => console.log(err))

и я получил Error: 1 periodic timer(s) still in the queue.

Я не понимаю, как написать это ожидание, когда выдается ошибка.


Ответы:


1

Вам нужно передать саму функцию в expect. В вашем случае вы передаете результат ClassUnderTest.someMethod(withSomeParams).

Вы на самом деле делаете это правильно в expect(() => ClassUnderTest.someMethod(withSomeParams)).toThrow(). Ошибка возникает либо из-за фактической ошибки в вашей реализации, либо из-за связывания this со стрелочными функциями.

Чтобы исправить это, вы можете попробовать:

expect(function () { ClassUnderTest.someMethod(withSomeParams) };).toThrow()

or:

expect(ClassUnderTest.someMethod.bind(null, withSomeParams)).toThrow()

См. эту запись StackOverflow и раздел .toThrow в документах Jasmine.

28.09.2017
Новые материалы

Представляем Narwhal Technologies (Nrwl)
6 декабря 2016 г. Маунтин-Вью, Калифорния С тех пор, как Виктор Савкин и я (Джефф Кросс) присоединились к команде Angular в Google на заре Angular 1, Angular продемонстрировал феноменальный..

Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

5 простых концепций Python, ставших сложными
#заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

«Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..