案例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,現在的解決方案。 –