【发布时间】:2021-10-16 16:59:26
【问题描述】:
我有一些 JavaScript 测试,我必须编写通过它们的代码。
测试如下:
beforeAll(async () => {
availabilities = await getAvailabilities(new Date("2020-01-01 00:00"));
});
it("returns an Object", () => {
expect(typeof availabilities === "object").toBe(true);
expect(Array.isArray(availabilities)).toBe(false);
});
it("key is a date string with format YYYY/MM/DD", () =>
expect(Object.keys(availabilities)[0]).toEqual("2020-01-01");
});
it("value is an Array", () => {
expect(Object.values(availabilities)[0]).toEqual([]);
});
我使用knex 作为数据库并使用以下内容进行了选择:
const response = await knexClient("events").select("starts_at", "ends_at");
但是当我使用date-fns 来格式化日期时
response = format(response[0], 'yyyy-MM-dd');
它不起作用。
我知道我不能直接格式化响应,因为它是一个对象,但我不知道如何解析它。
【问题讨论】:
-
对于我们这些从未听说过 knex 的人,你能
console.log(response)告诉我们这个变量是什么吗?您的数据库并不真正相关。您的数据才是最重要的。 -
请详细说明“它不起作用”。测试失败了吗?还有其他错误吗?
-
Knex 并不是真正的问题。它返回一个对象内的选择。问题是我无法解析对象以格式化它包含的日期。 @udalmik 它没有通过提供的测试。
标签: javascript node.js knex.js date-fns