【发布时间】:2016-09-23 20:44:34
【问题描述】:
我在使用 ava 测试运行程序时遇到错误。代码:
test('gets account by ID with includes', async t => {
const c = new Client('http://localhost:8000/v2/', token);
const included = await c.account.get('2001', ['foo']).then(res => res.data.included);
t.is(included[0].type, 'Foo');
});
test('gets order item by ID', async t => {
const c = new Client('http://localhost:8000/v2/', token);
const orderItem = await c.orderItem.get('2000').then(res => res.data.data);
t.is(orderItem.type, 'OrderItem');
t.is(orderItem.id, '2000');
});
我明白了:
1. get › gets account by ID with includes
Error: connect ECONNRESET 127.0.0.1:8000
Object.exports._errnoException (util.js:1036:11)
exports._exceptionWithHostPort (util.js:1059:20)
TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
2. get › gets order item by ID
Error: write EPIPE
exports._errnoException (util.js:1036:11)
WriteWrap.afterWrite (net.js:794:14)
这些错误不会一直出现,而且它们是非常低级的错误,所以我怀疑它一定是某种服务器配置问题。也许我应该在测试之间引入延迟? Ava 测试在许多进程上产生并同时运行。
【问题讨论】:
-
尝试连续运行测试,看看错误是否仍然存在。可能并行运行所有测试对您的服务器来说太多了。
-
行得通。如果你把它写成一个解决方案,我会让它解决。任何想法为什么开发服务器无法处理并行测试?