node.js - 使用 mocha / chai 测试服务:测试登录时出错
问题描述
我正在为登录服务编写测试。如果登录正确,则测试必须通过。在每次测试之前,都会清洁 bd。所以我首先创建一个用户,然后尝试登录。预期的行为是在响应中收到状态 200,但实际上我收到的是状态 401,这表示我没有正确创建用户。
describe("Users", () => {
beforeEach(done => {
User.remove({}, () => {
done();
});
});
describe("/POST login", () => {
it("should return successful login", done => {
const user = new User({
username: "test",
email: "test@test.com",
password: "testpass"
});
const user2 = {
user: "test",
password: "testpass"
};
user.save(err => {
if (err) {
done();
}
chai.request(server)
.post("/users/login")
.send(user2)
.end((err, res) => {
expect(res).to.has.status(200);
done();
});
});
});
测试结果:
未捕获的 AssertionError:预期 { Object (_events, _eventsCount, ...) } 的状态码为 200 但得到了 401
任何暗示这里发生了什么?
解决方案
推荐阅读
- python - 如何使用 python 与打印框交互
- recursion - Ocaml 中的列表递归
- ios - Xcode 9.4 Build(Debug, Release) OK,但存档失败,“找不到选项的目录..”
- python - np.shuffle 比 np.random.choice 慢得多
- dns - 客户的 IT 拒绝设置 SPF
- spring - Cas and Spring example: I don't understand "setUserDetailsService"
- python - How do I denormalize the sklearn diabetes dataset?
- go - Serving a map of strings without 3rd party libraries using http.filesystem in Go (Golang)
- facebook - 如何为 Facebook 访问令牌和用户帐户建模
- javascript - Node.js setInterval() 定时/调度替代方案