В эталонном ресурсе тестирования жасмина регистрация и обработка события компонента (например ,ComponentEvent) выполняются в одном и том же компоненте (например, EventHandling). Таким образом, мы можем проверить результат после запуска события.
https://github.com/forcedotcom/LightningTestingService/blob/master/lightning-component-tests/test/default/staticresources/jasmineExampleTests.resource
/**
* Component under test: 'c:egEventHandling'
* This spec shows how to validate a component's handling of component- and
* application-level events.
*/
describe('c:egEventHandling', function() {
it('handles component- and application-level events', function(done) {
$T.createComponent("c:egEventHandling", null)
.then(function(component){
var cmpEvent = component.getEvent("sampleEvent");
cmpEvent.setParams({"data":"component event fired"});
cmpEvent.fire()
expect(component.get("v.message")).toBe("component event fired");
$T.fireApplicationEvent("c:egApplicationEvent", {"data":"application event fired"});
expect(component.get("v.message")).toBe("application event fired");
done();
}).catch(function(e) {
done.fail(e);
});
});
});
Возникла проблема с проверкой результатов после запуска события компонента, когда регистрация события и его обработчик выполняются в разных компонентах.
Мы запускаем событие уровня компонента в компоненте 1 иобработчик вызывается в Компоненте 2,
Мы испытываем трудности при тестировании события компонента, когда компонент запускается, но мы не можем увидеть обработчик, вызванный в Компоненте 2
Пожалуйста, помогитемы получаем правильное решение для приведенного ниже кода
$T.createComponent("c:tagr_Tag",attributes,true)
.then(function(component) {
var evt = component.getEvent('componentEvent');
evt.setParam('entity', entity);
evt.fire();
expect(evt.fire()).tobe.(true);
}
Здесь событие вызывается из tagr_Tag, но обработчик не вызывается из другого компонента. Пожалуйста, помогите нам прийти к решению, используя любой подход, например spyon иличто-то другое.Заранее спасибо