Макет магазина с несколькими утверждениями выбора - PullRequest
0 голосов
/ 14 октября 2019

Я использую mogtore ngrx для тестирования моего компонента. Компонент использует два оператора выбора в двух разных методах, как показано ниже

getInfo()
{
this.store.select(getParams).subscribe(params => {
this.queryparams = params; });
}

Второй метод -

getProfile()
{
this.store.select(getprofile).subscribe(profile => {
this.profile  = profile; 
});
}

, где селектор getParams возвращает свойство с именем params из следующего объекта объектасостояние

urlparams:
{
    params: any;
    htest: string,
    starttime: string



}

, в то время как getprofile возвращает приведенный ниже объект

profileinfo
{
name: string,
id: number,
age: number
}

У меня также есть оператор хранилища отправки в коде моего контроллера. Мой вопрос заключается в том, как написать пример модульного теста для кода, как указано выше. Я использовал ngrx mockstore в своем модульном тесте следующим образом: я объявил начальное состояние, как показано ниже


const initialState = {
params: {
sstring: "now",
filter: "yes"
},
profileinfo: {
name: "brd",
id: 21,
age: 45
}

}

, а в разделе поставщиков я предоставил mockstore, как показано ниже

beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [TestHostInspComponent],
      imports: [MaterialModule, BrowserAnimationsModule,FiltersModule],
      providers: [
                  
        provideMockStore({ initialState })
      ],
      schemas: [NO_ERRORS_SCHEMA]
    })
      .compileComponents();
        store = TestBed.get(Store);
    

 
    fixture = TestBed.createComponent(TestHostInspComponent);
    component = fixture.componentInstance;
    

    fixture.detectChanges();
  });

когда я делаю, как указано выше, я получаю следующую ошибку:

 Uncaught TypeError: Cannot read property 'params' of undefined

Подводя итог, я пытаюсь понять, как макетировать хранилище, используя mogtore ngrx, где в коде контроллера есть пара операторов выбора и операторов отправкикоторые относятся к различным частям государства.

А также, где я иду не так

TIA

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