sinonjs/sinon

Sinon fails in comparing call order when running tests in parallel

Open

#2,472 创建于 2022年9月17日

在 GitHub 查看
 (11 评论) (0 反应) (0 负责人)JavaScript (9,548 star) (764 fork)batch import
BugDifficulty: EasyHelp wantedImprovementgood first issue

描述

Describe the bug

spy1.calledImmediatelyBefore(spy2) fails when used in a node-tap test suite that is being executed in parallel. In serial mode it works without issue. calledBefore continues to work as normal.

I've even tried using sandboxes for each test but it did not fix the issue.

To Reproduce

Repo: https://github.com/Ethan-Arrowood/sinon-spy-parallel-bug-reproduction

git clone https://github.com/Ethan-Arrowood/sinon-spy-parallel-bug-reproduction
cd sinon-spy-parallel-bug-reproduction
pnpm install
pnpm run test

To see tests passing comment out line 27 in test/index.ts:

+ // tap.jobs = 2;
- tap.jobs = 2;

Expected behavior

I'd expect my spy assertions to pass in both serial and parallel mode

Context (please complete the following information):

  • Library version: 14.0.0
  • Environment: Node.js 18
  • Example URL:
  • Other libraries you are using: node-tap, typescript

贡献者指南

Sinon fails in comparing call order when running tests in parallel · sinonjs/sinon#2472 | Good First Issue