【发布时间】:2024-07-15 09:30:01
【问题描述】:
我有一个按钮组件..
export default class ButtonAction extends Component {
render() {
const { id, disabled, onClose, onSave, onRemove, isDelete } = this.props;
return (
<div className="footer">
<div className="button-container">
<button data-testid="cancel" onClick={() => onClose()}> Cancel </button>
{
isDelete
? <button data-testid="remove" disabled={!disabled} onClick={() => onRemove()} className='primary'> Yes </button>
: <button data-testid="save" disabled={!disabled} onClick={() => onSave()} className={disabled ? 'primary' : 'disabled'}> { id ? 'Update' : 'Save' } </button>
}
</div>
</div>
)
}
}
这就是我制作组件的方式。我正在尝试进行单元测试,但测试用例没有通过..
test("id exists", () => {
const { getByTestId } = render(<ButtonAction id={''} isDelete={false} />);
expect(getByTestId('cancel')).toBeTruthy();
});
test("delete button exists", () => {
const { getByTestId } = render(<ButtonAction id={'remove'} isDelete={true} />);
expect(getByTestId('cancel').textContent).toBe(' Yes ')
});
test('save button exists', () => {
const { getByTestId } = render(<ButtonAction id={''} isDelete={false} />)
expect(getByTestId('save').textContent).toBe(' Save ')
})
test('calling render with the same component on the same container does not remount', () => {
const { getByTestId } = render(<ButtonAction id={'1'} isDelete={false} />)
expect(getByTestId('save').textContent).toBe(' Update ')
})
这是我的单元测试用例..我的测试用例都没有通过..我已经参考了我的其他来源,但无能为力。我是新来的反应..请帮我解决这个问题..
The error below may be caused by using the wrong test environment, see jestjs.io/docs/configuration#testenvironment-string. Consider using the "jsdom" test environment. ReferenceError: document is not defined
这是我遇到的错误
【问题讨论】:
-
第一个测试用例失败了吗?错误信息是什么
-
失败消息是什么?
-
下面的错误可能是使用了错误的测试环境导致的,见jestjs.io/docs/configuration#testenvironment-string。考虑使用“jsdom”测试环境。 ReferenceError: document is not defined 这是我得到的错误
标签: javascript reactjs unit-testing react-testing-library