小编Pab*_*rez的帖子

React Jest 测试按钮 onClick

我正在使用 React 开发一个应用程序,并且我对其测试框架很陌生。我正在尝试开发一种测试方法来检查是否单击了 onClick 按钮。我读到我需要一个“间谍”函数来获取有关它是否被调用的信息。

我的测试方法:

test("Btn1 click", () => {
    const wrapper = mount(<Register />);
    const spyOn = jest.spyOn(wrapper.instance(), "openWindow")
    const element = wrapper.find({id: "btn-how-to-choose-provider"}).first();
    element.simulate("click");
    expect(spyOn).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)

我要测试的Register.js组件:

export default function Register() {
    const classes = useStyles();

    function openWindow(url) {
        window.open(url);
    }

    return (
        <div>
            <NavBar />
            <Container component="main" maxWidth="sm">
                <Card className={classes.root} elevation={4}>
                    <CssBaseline />
                    <div className={classes.paper}>
                        <Avatar className={classes.avatar}>
                            <AccountCircleIcon />
                        </Avatar>
                        <Typography component="h1" variant="h5">Hi! Welcome to Solid.</Typography>
                        <div className={classes.form}>

                            <Button
                                id="btn-how-to-choose-provider"
                                fullWidth
                                color="primary"
                                className={classes.link}
                                startIcon={<EmojiPeopleIcon/>} …
Run Code Online (Sandbox Code Playgroud)

javascript sinon reactjs jestjs

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

标签 统计

javascript ×1

jestjs ×1

reactjs ×1

sinon ×1