相关疑难解决方法(0)

如何在开玩笑中测试axios

我有这个行动的反应

export function fetchPosts() {
    const request = axios.get(`${WORDPRESS_URL}`);
    return {
        type: FETCH_POSTS,
        payload: request
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何测试axios?Jest在那里有这个用例的异步代码,他们使用模拟函数,但我不知道我是否可以用axios做到这一点?参考:https://facebook.github.io/jest/docs/tutorial-async.html

到目前为止,我已经做了这个测试,它正在返回正确的类型

it('should dispatch actions with the correct type', () => {
    store.dispatch(fetchPosts());
    let action = store.getActions();
    expect(action[0].type).toBe(FETCH_POSTS);
});
Run Code Online (Sandbox Code Playgroud)

我不知道如何传递模拟数据并测试它返回但是,有没有人有任何想法?

先感谢您

reactjs jestjs react-redux

53
推荐指数
5
解决办法
6万
查看次数

异步外部函数留下开放句柄 - Jest、Supertest、Express

我开始使用 Jest 和 Supertest(针对端点)测试我的应用程序。测试工作顺利,但Jest 在运行测试后检测到 2 个打开的句柄,这会阻止 Jest 干净退出。

\n

这个打开的句柄是由我的测试文件中调用的外部异步函数生成的。我正在使用外部函数从 Auth0 API 请求 JWT 令牌;但对 Auth0 的请求还在其响应中提供了传递端点中间件的关键信息(有关此的更多信息如下)。这里要记住两件事:

\n
    \n
  1. 到目前为止,我无法避免从 Auth0 请求令牌,因为正如我所说,该响应还包含一个user具有关键信息的对象。Auth0 将此对象设置在主体响应之外的同一级别,但不在其中。该信息是传递端点中间件的关键。
  2. \n
  3. 我已经隔离了所有错误,以确保仅当我调用从 Auth0 API 请求令牌和用户信息的外部异步函数时才会出现问题;该问题是通过使用getToken测试文件中的该函数(称为 )生成的。
  4. \n
\n

测试文件代码

\n
import app from "../app";\nimport mongoose from "mongoose";\nimport supertest from "supertest";\nimport { getToken } from "../helpers";\nimport dotenv from "dotenv";\nimport * as config from "../config";\n\ndotenv.config();\n\nconst api = supertest(app);\n\nlet authToken: any;\nlet db: any;\n\nbeforeAll(async() => {\n  try {\n    mongoose.connect(config.MONGODB_URI, {\n      useNewUrlParser: true,\n      useUnifiedTopology: true,\n      useCreateIndex: …
Run Code Online (Sandbox Code Playgroud)

node.js express supertest jestjs

13
推荐指数
1
解决办法
2722
查看次数

标签 统计

jestjs ×2

express ×1

node.js ×1

react-redux ×1

reactjs ×1

supertest ×1