В последнее время я много читал об угловом тестировании, и пары всегда были async + fixture.whenStable и fakeAsync + tick, однако вы всегда можете вызвать fixtrue.whenStable, поскольку он не тесно связан.Если вы вызываете его, когда не используете асинхронную утилиту для отслеживания обещаний в тестовой зоне, она действительно что-нибудь сделает?
Например:
it('should be able to do this thing that needs some async setup', () => {
fixture.detectChanges();
fixture.whenStable().then()
});
Я понимаю разницу между FakeAsync/Tick
иfixture.detectChanges
.Мой вопрос касается того, что fixture.whenstable
будет делать, когда внутри зоны выполнения FakeAsync
в качестве зоны Async
должна отслеживаться асинхронная работа, позволяющая fixture.whenstable
подключиться к этому отслеживанию, по крайней мере, насколько я понимаю.Или действительно, если он используется и вообще не находится в зоне асинхронного выполнения.
Так что, если fixture.whenstable используется внутри функции FakeAsync, или функции, которая не устанавливает зону выполнения асинхронного выполнения, будет ли она работать должным образом?