小编Jas*_*ues的帖子

在异步 Jest 测试中是否需要完成?

done()在 Jest 测试中与一位同事发生争执。

他在 JavaScript 方面的经验比我多几个数量级,我是在async/await被普遍接受之后加入的,加上来自 .NET 环境,所以我已经习惯了。

我写我的测试是这样的:

it("should return 200 OK for POST method", async () => {
    await request(app).post("SOMEENDPOINT")
      .attach("file", "file")
      .expect(200);
});
Run Code Online (Sandbox Code Playgroud)

他更习惯于承诺,所以会像这样编写他的测试:

it("should return 200 OK for POST method", (done) => {
  request(app).post("SOMEENDPOINT")
    .attach("file", "file")
    .expect(200, done);
});
Run Code Online (Sandbox Code Playgroud)

他对我推送到async/ 没问题await,但坚持我必须包含done,这样我要么做他的版本修改版本:

it("should return 200 OK for POST method", async (done) => {
  await request(app).post("SOMEENDPOINT")
    .attach("file", "file")
    .expect(200, done);
});
Run Code Online (Sandbox Code Playgroud)

或者:

it("should return 200 OK …
Run Code Online (Sandbox Code Playgroud)

javascript node.js async-await supertest jestjs

9
推荐指数
1
解决办法
4037
查看次数

从Java调用pg_dump时命令行参数过多

在遇到一些问题后,我使用Java中的字符串对Postgres执行一些查询,然后我使用了字符串数组,这解决了我现有的问题。

切换后,我现在遇到了一个问题pg_dump,但是没有问题pg_restore

当我为我的方法提供以下数组时:

[time, ./pg_dump, -U, lehigh, -d, lehigh, -Fc, data/completedDb.dump]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

pg_dump:命令行参数太多(第一个是“ data / completedDb.dump”)

ProcessBuilder产生以下内容供我执行:

time ./pg_dump -U lehigh -d lehigh -Fc data/completedDb.dump
Run Code Online (Sandbox Code Playgroud)

当我在命令行上添加输出箭头并删除数据文件夹时,它工作正常。

time ./pg_dump -U lehigh -d lehigh -Fc > completedDb.dump
Run Code Online (Sandbox Code Playgroud)

我正在使用Eclipse在Postgres数据库上的Java中通过eclipse运行此命令:

 Runtime.getRuntime().exec();
Run Code Online (Sandbox Code Playgroud)

我尝试使用,Process.start()但遇到了相同的错误,所以我对自己做错的事完全感到震惊。

在进行此更改之前,pg_dump已作为单个字符串正确执行。我不想回到那种方法,因为我想保持一致性,但是我也想弄清楚我在做什么错。

java postgresql pg-dump

2
推荐指数
1
解决办法
2574
查看次数