Как написать тестовый блок для случая коммутатора в Angular 6? - PullRequest
1 голос
/ 25 марта 2019

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

import { Injectable } from '@angular/core';
import { HttpHeaders } from '@angular/common/http';
const httpOptions = {  headers: new HttpHeaders({ 'Content-Type': 'application/json' })};
const CUSTOMERS_URL = "http://localhost:8009/api/customers";
import * as sample1 from "./schema/schema-sample1.json";
import * as sample2 from "./schema/schema-sample2.json";
import * as sample3 from "./schema/schema-sample3.json";
import * as sample4 from "./schema/schema-sample4.json";
import * as sample5 from "./schema/schema-sample5.json";

@Injectable({
  providedIn: 'root'
})
export class AppService {

  constructor() { }

   getDynamicRequestDetailsForApp(appName){
    switch(appName) {
      case "dcc": {
         return sample1;
         break;
      }
      case "sbr": {
         return sample2;
         break;
      }
      case "arc": {
         return sample3;
         break;
      }
      case "auth": {
         return sample5;
         break;
      }
      default: {
         return sample5;
         break;
      }
   }
  }
}

1 Ответ

0 голосов
/ 25 марта 2019

В основном switch - это утверждение, похожее на if,else if, else. Вы можете принять case как else if и default как else. Для приведенного выше примера кода тест может быть как ниже

describe('Service: FormService', () => {
beforeEach(() => {
    service = new AppService();
});
it('tests sbr', () => {
  expect(service.getDynamicRequestDetailsForApp('sbr')).toEqual(sample2);
});
it('tests dcc', () => {
  expect(service.getDynamicRequestDetailsForApp('dcc')).toEqual(sample1);
});
/* Same for remaining case statements with different function parameter */
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...