案例1:Webservice的
问题1 作为server.close()
的NodeJS不工作。我复制粘贴这个片段在每个测试文件,这是开始我的web服务。
try{
server.setup(options);
server.start();
}catch(err){
console.log(err);
}
所有测试完成后,服务器停止。
**问题2 我错误地使用了chai-http
。这是完整的工作解决方案。
//Need to be placed before importing chai and chai-http
if (!global.Promise) {
global.Promise = require('q');
}
var server = require('.././lib/server');
var chai = require('chai')
, chaiHttp = require('chai-http');
chai.use(chaiHttp);
try{
server.setup(someoptions);
server.start();
}catch(err){
console.log(err);
}
describe('FT', function() {
describe('scenario::', function() {
it('responds to POST', function (done) {
chai.request("http://localhost:9999")
.post('/someurl')
.then(res => {
expect(res.status).toBe(200);
//console.log(res.text);
done();
}).catch(err => {
console.log(err);
done();
});
});
});
案例二:网站这是很简单的。
- 我用
http-server
启动服务器,以便我的html文件可以被访问。
- 我用zombie js进行浏览器测试。 (有许多可用于浏览器测试许多其他选项)
下面是代码
process.env.NODE_ENV = 'test';
const Browser = require('zombie');
const httpServer = require('http-server');
describe("DemoApp", function() {
var browser = new Browser({site: 'http://localhost:8080'});
var server = httpServer.createServer();
server.listen(8080);
beforeEach(function(done){
browser.visit('/', done);
});
describe("Parse XML", function() {
it("should parse xml to json", function(done) {
browser.pressButton('#submit');
browser.assert.text('#result', 'some result text');
done();
});
});
afterEach(function(){
server.close();
})
});
我发现情况2.寻找案例1,现在的解决方案。 –