如何孤立地站立Node项目/端点并使用Karate测试它们

时间:2019-07-24 22:31:41

标签: karate supertest

我想使用空手道来测试由基于Node的项目提供服务的终结点,这些终结点都是隔离执行的(本地计算机来自其回购)。

今天,我可以很容易地使用supertest / jest,如下例所示。但这使我无法对空手道进行端点交互进行超级测试。

const request = require('supertest')
const { app } = require('../app')

jest.mock('../lib/auth')
jest.mock('..lib/vault')

describe('GET /myendpoint'() => {
  it('should respond with 200', async () => {
    await request(app)
      .get('/myendpoint')
      .expect(200)
  })
}
jest --collect-coverage

1 个答案:

答案 0 :(得分:0)

从空手道中,您应该能够调用一个CLI命令来启动节点服务器。

或者-如果需要仔细同步以启动CLI进程,创建新线程以运行测试而不是停止主线程,则-我建议您为此编写一个小型Java实用程序,然后从空手道测试中调用它。只需synchronize并使用wait()notify()-并使用JUnit @BeforeClass@AfterClass,这应该是可行的。

要从Java调用CLI,可以使用System.exec()ProcessBuilder