我正在使用 Visual Studio Code 编写基于 jasmine 和 karma 的单元测试用例。我想知道是否有一种方法可以在 VS Code 工具本身中调试测试。
我有以下(简化的)代码,我尝试使用可区分的联合类型。当我尝试访问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) 我正在尝试使用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 属性。
谢谢
angularjs ×1
cypress ×1
jasmine ×1
javascript ×1
karma-runner ×1
reactjs ×1
typescript ×1
unit-testing ×1