Reactjs 测试 api 调用
Reactjs Test api call
我想开发 usign Reactjs,我制作了一个应用程序,我调用了一个 api (https://jsonplaceholder.typicode.com/users),我还测试了这个调用,但我不能调用这个 api.
我在 .Net 中做了一个小 WebApi 项目,这个 WebApi 有一个端点 return 我是一个 json 具有这个简单结构的端点:{{person:1},{person:2}}
。我使用 Postman 和 Visual 中的断点测试了这个端点,它成功了。
现在想用React的测试套件(不知道是不是测试套件,mpn测试)调用这个端点,但是测试没有调用端点,因为visual中的断点没有激活,不知道Reactjs测试能不能调用Apis
这是文件:
--PersonHelpers.test.js--
import {checkPersonList} from './RobotHelpers';
test('Check person in list',() => {
var result = false;
result = checkPersonList();
expect(result).toEqual(true);
});
--PersonHelpers.js--
export const checkPersonList = () => {
var persontList = null;
setTimeout(() => {
fetch('http://localhost:23620/api/Values')
.then(response => response.json())
.then(data => {
persontList = data;
});
},1000);
console.log("list",persontList);
if (persontList === null)
console.log("is null")
if((persontList != null) && (persontList.lenght > 0))
return true;
else
return false;
}
您要在此处测试的不是您在 .NET 中开发的后端 API,而是 checkPersonList()
在收到 API 响应后的正确行为。
AFAIK,对于单元测试,您不需要直接调用 API,而是模拟 API 请求和响应。
为此,您可以使用 fetch-mock
库。
我想开发 usign Reactjs,我制作了一个应用程序,我调用了一个 api (https://jsonplaceholder.typicode.com/users),我还测试了这个调用,但我不能调用这个 api.
我在 .Net 中做了一个小 WebApi 项目,这个 WebApi 有一个端点 return 我是一个 json 具有这个简单结构的端点:{{person:1},{person:2}}
。我使用 Postman 和 Visual 中的断点测试了这个端点,它成功了。
现在想用React的测试套件(不知道是不是测试套件,mpn测试)调用这个端点,但是测试没有调用端点,因为visual中的断点没有激活,不知道Reactjs测试能不能调用Apis
这是文件:
--PersonHelpers.test.js--
import {checkPersonList} from './RobotHelpers';
test('Check person in list',() => {
var result = false;
result = checkPersonList();
expect(result).toEqual(true);
});
--PersonHelpers.js--
export const checkPersonList = () => {
var persontList = null;
setTimeout(() => {
fetch('http://localhost:23620/api/Values')
.then(response => response.json())
.then(data => {
persontList = data;
});
},1000);
console.log("list",persontList);
if (persontList === null)
console.log("is null")
if((persontList != null) && (persontList.lenght > 0))
return true;
else
return false;
}
您要在此处测试的不是您在 .NET 中开发的后端 API,而是 checkPersonList()
在收到 API 响应后的正确行为。
AFAIK,对于单元测试,您不需要直接调用 API,而是模拟 API 请求和响应。
为此,您可以使用 fetch-mock
库。