我在使用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测试在许多进程中生成并同时运行。
答案 0 :(得分:0)
尝试按顺序运行测试并查看错误是否仍然存在。对于您的服务器,可能并行运行所有测试都太多了。
通常,服务器应该能够处理并发连接,尽管它有一个限制。您似乎正在达到正在测试的部署的限制。
您能提供您正在执行的个别测试的数量吗?如果这是您的部署的严重问题或者您正在到达服务器的边界,则此信息可能会有所体现。也许您可以尝试使用基准工具(如Apache工作台)来获取有关您的服务器部署功能的信息。