我想使用空手道来测试由基于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
答案 0 :(得分:0)
从空手道中,您应该能够调用一个CLI命令来启动节点服务器。
或者-如果需要仔细同步以启动CLI进程,创建新线程以运行测试而不是停止主线程,则-我建议您为此编写一个小型Java实用程序,然后从空手道测试中调用它。只需synchronize
并使用wait()
和notify()
-并使用JUnit @BeforeClass
和@AfterClass
,这应该是可行的。
要从Java调用CLI,可以使用System.exec()
或ProcessBuilder
。