如何解决在 React-Native 中使用 Jest 测试模拟端点方法
我正在尝试测试我的 React-Native 应用程序中的一些方法,这些方法向某个 API 发出一些请求。看了很多教程后,我无法理解如何做,如何模拟它以及如何使用该模拟。
我的测试代码是:
import AccountRequests from '../path'
const accountRequests = new AccountRequests()
describe('Account Requests',() => {
afterEach(() => jest.resetAllMocks())
test('Login method',async () => {
const bodyParameters = {
email: 'email@email.com',password: 'password'
}
accountRequests.makeLoginAPIRequest(bodyParameters,onResponse => {
expect(onResponse).toHaveProperty('customer_settings')
expect(onResponse).toHaveProperty('authenticated').toBeTruthy()
},null)
})
test('Get customer method',async () => {
accountRequests.makeGetCustomerAPIRequest(null,null)
})
})
现在我的代码中没有模拟,因为我不知道如何使用它。
makeLoginAPIRequest = (bodyParameters,valueCallback,errorCallback) => {
let urlString = 'url'
let method = HTTPMethodType.POST
RequestManager.shared.makeRequest(urlString,method,null,bodyParameters,errorCallback)
}
makeGetCustomerAPIRequest = (valueCallback,errorCallback) => {
let urlString = 'url'
let method = HTTPMethodType.GET
RequestManager.shared.makeRequest(urlString,errorCallback)
}
我的问题是,无论我期望什么,或者如果我为 POST 请求发送不正确的参数,测试总是会通过:
PASS __tests__/Account.test.js
Account Requests
✓ Login method (2 ms)
✓ Get customer method
Test Suites: 1 passed,1 total
Tests: 2 passed,2 total
Snapshots: 0 total
Time: 0.859 s,estimated 1 s
Ran all test suites.
✨ Done in 1.84s.
我的想法是这些方法甚至没有被调用,也不知道将它们更改为被调用以便我可以看到响应。
经过一些尝试,我的方法未定义,但不知道为什么。
有人可以帮我弄清楚吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。