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

Joe*_*123 3 javascript unit-testing jasmine typescript angular

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

我知道我可以使用 .click() 模拟单击​​,但我找不到一种方法来按住单击而不只是立即单击。我试图找到一种按住点击的方法,但找不到适合此用例的选项。

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

Mar*_*ill 5

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

代码很粗糙,但它应该可以满足您的需求,至少可以指导您实现这一点。

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});
});
Run Code Online (Sandbox Code Playgroud)