【发布时间】:2022-01-24 01:08:39
【问题描述】:
有没有简单的方法可以通过提交按钮测试axios响应数据触发?
一般来说,一旦它是稍微复杂或异步的测试,我真的会遇到麻烦。是否有一个简单的工具可以让我以简单流畅的方式创建测试?
import React, { useEffect, useState } from "react"
import axios from "axios"
const ContactForm = () => {
const onSubmitFormHandler = (event) => {
const url = process.env.REACT_APP_SERVER_API + "/lead"
try {
axios
.post(url, {
headers: {
"Content-Type": "application/json",
},
params: {
data: leadObj,
},
})
.then(function (response) {
if (response.status === 200) {
// do simething
} else {
// do simething else
}
})
.catch((error) => {
})
}
}
return (
<form onSubmit={onSubmitFormHandler}>
<button data-testid="submit" type="submit">
{!loader ? "send" : <Loader />}
</button>
</form>
)
}
export default ContactForm
【问题讨论】:
-
将 axios 代码放在一个单独的文件/模块中,并将其导入上面的代码中,然后从提交处理程序中调用它。然后,您可以很容易地测试单独的文件/模块。
标签: reactjs testing jestjs react-testing-library