Попытка тестовых сценариев spe c .ts завершается неудачно, потому что ожидание (например, возврат) выполняется до того, как пришел ответ create, и в консоли отображается undefined - PullRequest
0 голосов
/ 18 февраля 2020

Я использую angular 6 и анализирую базу данных, и я реализовал тестовый скрипт для создания метода.

Реализована функция создания в образце компонента страницы, а сервис реализован в файле сервиса тестирования. когда я запускаю команду ioni c serve и сохраняю ее, используя angular, она была создана правильно, но когда я реализовал тестовый сценарий для создания функции, он создает данные, но spe c завершается ошибкой, так как ожидается, что выполняется до того, как пришел ответ create, и в консоли отображается undefined файл spe c.

Здесь реализован пример сценария тестирования Файл sample sample.page.spe c .ts:

      it('units page create function spec', () => {
        component.formData.optionName="testpiece";
        component.formData.optionDesc="testdescription";

        component.save();   

        fixture.detectChanges();  
        console.log("component.designationObject",component.designationObject);

        expect(component.designationObject).toEqual("Units Created Successfully"); 
      })

Сбой из-за ожидаемого (например, возврата) выполняется до появления ответа create и в консоли отображается undefined.

1 Ответ

0 голосов
/ 18 февраля 2020

Как выглядит ваш метод создания / сохранения? Для этого ответа я предполагаю, что вы работаете с обещаниями. Если это так, вы должны вызвать свой асин c код следующим образом:

 it('units page create function spec', (done) => {
        component.formData.optionName="testpiece";
        component.formData.optionDesc="testdescription";

        component.save().then(result => {
          fixture.detectChanges();  
          console.log("component.designationObject",component.designationObject);

          expect(component.designationObject).toEqual("Units CreatedSuccessfully");
          done();
        });   

      })

Это вызовет ожидаемый вызов после выполнения вашего обещания. Обратите внимание на вызов обратного вызова done после ожидаемого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...