Я хочу проверить состояние, заданное селектором с помощью MockStore и переопределить, но я делаю что-то не так, потому что независимо от того, чего я ожидаю, я всегда прохожу тест. 1004 *
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { UserProfileComponent } from './user-profile.component';
import {MemoizedSelector} from '@ngrx/store';
import * as profileSelectors from '../../../app/store/selectors/profile.selectors';
import {AppState} from '../../../app/store';
import {MockStore, provideMockStore} from '@ngrx/store/testing';
import {By} from 'protractor';
import {ProfileState} from '../../../app/store/reducers/profile.reducer';
describe('UserProfileComponent', () => {
let component: UserProfileComponent;
let fixture: ComponentFixture<UserProfileComponent>;
let store: MockStore<AppState>;
let mockShowsSelector;
// I wrote the same as in the example
const queryDivText = () =>
fixture.debugElement.queryAll(By.css('div'))[0].nativeElement.textContent;
beforeEach(async(() => {
TestBed.configureTestingModule({
providers: [provideMockStore()],
declarations: [UserProfileComponent]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(UserProfileComponent);
component = fixture.componentInstance;
store = TestBed.inject(MockStore);
mockShowsSelector = store.overrideSelector(profileSelectors.getUserInfo, {
id: 2,
user: 'user',
role: 'role',
email:email 'description 2'
});
fixture.detectChanges();
});
// I wrote the same as in the example
it('should greet John when the username is John', () => {
expect(queryDivText()).toBe('Greetings, John!');
});
});
В приведенном выше коде вы можете увидеть мою проблему .. Даже если он проверяет что-то случайное (чего нет даже в моем представлении компонентов), он проходит тест. Я думаю, это связано с отладкой.