我正在将Express应用程序转换为机车,我无法弄清楚如何迁移我的测试。
在Express中,我只是在我的/test/test.api.organization.js
文件中执行此操作:
var app = require("../app").app,
request = require("supertest");
should = require("should");
describe("Organization API", function() {
it( "GET /api/v1/organizations should return status 200 and Content-Type: application/json.", function (done) {
postReq.done( function () {
request(app)
.get( "/api/v1/organizations" )
.set( "Authorization", authData )
.expect( 200 )
.expect( 'Content-Type', /application\/json/, done );
});
});
}
就是这样 - 只需require
'app文件即可。但是,机车没有app.js
或server.js
文件,服务器只能从lcm server
的命令行启动。
如何启动服务器/应用程序并让我的测试再次运行?
答案 0 :(得分:2)
您可以自己启动机车应用程序:
var locomotive = require('locomotive');
describe('Test Name', function() {
before(function(done) {
// instantiate locomotive app
this.app = new locomotive.Locomotive();
this.app.boot(ROOTDIRECTORY, ENVIRONMENT, function() {
done();
});
});
// your test cases
});
ROOT_DIRECTORY是您的机车项目所在的目录,ENVIRONMENT是您希望机车应用程序运行的环境(通常为test
)。