预期:401 收到:200

问题描述

我目前正在在线学习 Node.js 课程,并且必须在部署前完成所需的集成测试。我刚刚测试了 GET 和 POST 方法并成功了,但是我正在努力进行 PUT 方法测试。我正在使用讲师为其提供的完全相同的代码,但我不断收到错误“预期:401 收到:200”。

我如何用空令牌继续收到 200????没有任何意义。

enter image description here

这是我的 PUT 方法代码

let server;
// Test all genres
describe("/api/genres",() => {
// Call the function before each test
beforeEach(() => {
   server = require("../../index");
});
// Close the function after each test
afterEach(async () => {
// Prevent genres from duplicating
   await Genre.remove({});

   await server.close();
});

// 测试 PUT 方法

describe("PUT /:id",() => {
let token;
let newName;
let genre;
let id;

const exec = async () => {
  return await request(server)
    .put("/api/genres/" + id)
    .set("x-auth-token",token)
    .send({ name: newName });
};

beforeEach(async () => {
  // Before each test we need to create a genre and
  // put it in the database.
  genre = new Genre({ name: "genre1" });
  await genre.save();

  token = new User().generateAuthToken();
  id = genre._id;
  newName = "updatedname";
});

it("should return 401 if client is not logged in",async () => {
  token = "";

  const res = await exec();

  expect(res.status).toBe(401);
});
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...