我正在尝试在我的应用程序中使用nextjs,能够使其按预期与express一起使用,但仍受测试困扰。如何测试那些用nextjs包装的应用程序?
server.js
const next = require('next')
const dev = process.env.NODE_ENV !== 'production'
const nextApp = next({ dev })
const app = express();
nextApp.prepare()
.then(() => {
const userRoutes = require("./routes/userRoutes")(nextApp);
app.use("/", userRoutes);
app.get("/test", (req, res) => {
const actualPage = '/index'
const query = { id: 'reqaramshhjjkkllvvoooo', test: 'testPropertyNN' }
nextApp.render(req, res, '/index', query);
})
server = app.listen(PORT)
})
.catch((ex) => {
console.error(ex.stack)
process.exit(1)
})
module.exports = app;
并在下面对此进行测试,但是收到404,应该如何配置笑话以及接下来的测试将起作用?我只是从create-react-app切换到nextjs,但是在测试中失败(没有next管理它可以工作),有人有示例或线索来使这些工作正常吗?
it('should get it workin', done => {
agent
.get(`/test`)
.end((err, res) => {
should.not.exist(err);
res.status.should.equal(200);
done();
})
})