如何在Typescript单元测试中模拟鼠标拖动?

时间:2019-06-11 14:03:38

标签: javascript angular typescript unit-testing jasmine

如何在Typescript单元测试中模拟鼠标拖动?

我知道我可以使用.click()模拟点击,但是我无法找到一种方法来抑制点击,而不仅仅是立即点击。我试图找到一种方法来抑制点击,但是找不到该用例的选项。

我想测试是否可以突出显示和选择屏幕的某个区域,这需要鼠标拖动。

1 个答案:

答案 0 :(得分:1)

我将对此进行介绍,我将继续对其进行编辑,因为我可以找到更多信息,但希望这是一个开始。

代码很粗糙,但是它应该可以为您提供所需的东西,至少可以指导您达到这一点。

let fixture: ComponentFixture<TestComponent>;
let debugElement: DebugElement[];

beforeEach(() => {
    debugElement= fixture.debugElement.queryAll(By.component(TestComponent));
});

it('mousedown on the div', inject([MyService], service) => {
     debugElement[0].triggerEventHandler('mousedown',{pageX:50, pageY: 40});
     debugElement[0].triggerEventHandler('mousemove',{pageX:60, pageY: 50});
     expect(service.someObj).toBe({x:10, y:10});
});