小编M M*_*our的帖子

如何使用 VSCode 工具调试 jasmine karma 测试

我正在使用 Visual Studio Code 编写基于 jasmine 和 karma 的单元测试用例。我想知道是否有一种方法可以在 VS Code 工具本身中调试测试。

jasmine angularjs karma-runner karma-jasmine

7
推荐指数
1
解决办法
1万
查看次数

Typescript 歧视联盟缩小不起作用

我有以下(简化的)代码,我尝试使用可区分的联合类型。当我尝试访问dataTS 时,我认为可能是这样undefined,但我不确定为什么。

type Return =
  | {
    isReady: 'yes';
    data: { a: number };
  }
  | {
    isReady: 'no';
    data: false;
  };

const myFunction = (): Return => {
  return {
    isReady: 'yes',
    data: { a: 111 }
  };
}

const { isReady, data } = myFunction()

if (isReady === 'yes') {
  const { a } = data; // ERROR: Property 'a' does not exist on type '{ a: number; } | undefined'.
}
Run Code Online (Sandbox Code Playgroud)

discriminated-union typescript

4
推荐指数
1
解决办法
2457
查看次数

如何使用 Cypress 在 React 组件上调用回调函数进行单元测试

我正在尝试使用cypress-react-unit-test来对我的 React 组件进行单元测试。

在本例中,我有一个按钮,它传递一个回调函数以在单击时执行。我有下面的代码,但在突出显示的行处立即失败。错误消息是expected stub to have been called at least once, but it was never called

import React from 'react';
import { mount } from 'cypress-react-unit-test';

const Button = ({ onClick }) => (
  <button onClick={onClick} data-test-ref="button">
    Hello
  </button>
);

describe('Button', () => {
  it('should call the onClick function', () => {
    const onClick = cy.stub();

    mount(<Button onClick={onClick} />);
    cy.get(`[data-test-ref=button]`).click();

    // expect(onClick).to.be.called; // fails
  });
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何测试单击按钮时是否执行了 onClick 属性。

谢谢

javascript unit-testing reactjs cypress

2
推荐指数
1
解决办法
3974
查看次数