我有一个web应用程序,它的规范如下:
describe('Hook them up', () => {
var server;
beforeEach(done => {
server = app.listen(done);
});
before(done => {
// Does this run before or after "beforeEach"
// If I try to access the api at this point I get an ECONNREFUSED
});
after(done => {
server.close(done);
});
it('should set the \'createdAt\' property for \'DndUsers\' objects', done => {
api.post('/api/tweets')
.send({ text: 'Hello World' })
.then(done)
.catch(err => {
console.log(err);
done();
});
});
});
在我的其他项目中,如果我尝试访问before
块中的api,它就能正常工作,就好像beforeEach
已经在运行一样。
发布于 2016-04-21 06:04:27
See my answer here回答了一个非常类似的问题。
Mocha的test runner在Hooks section of the Mocha Test Runner中最好地解释了这个功能。
在Hooks部分中:
describe('hooks', function() {
before(function() {
// runs before all tests in this block
});
after(function() {
// runs after all tests in this block
});
beforeEach(function() {
// runs before each test in this block
});
afterEach(function() {
// runs after each test in this block
});
// test cases
it(...); // Test 1
it(...); // Test 2
});
您可以将这些例程嵌套在其他describe块中,这些代码块也可以包含之前/beforeEach例程。
这应该会给你
hooks
before
beforeEach
Test 1
afterEach
beforeEach
Test 2
afterEach
after
https://stackoverflow.com/questions/36755836
复制相似问题