Build a Resilient Test Runner

Difficulty: hard

## The Mission In this challenge, you are tasked with building a headless Test Runner engine. This engine will take a 'User Solution' (a function) and a 'Test Suite' (an array of test cases) and return a detailed execution report. ## Requirements 1. **Isolated Execution:** The engine must handle execution gracefully. 2. **Deep-Equality Assertions:** Support primitive types, nested objects, and arrays. 3. **Async Support:** Handle asynchronous solutions (Promises/Async-Await). 4. **Timeout Protection:** Implement a strict timeout of 1000ms per test case. 5. **Performance Metrics:** Track execution time for each individual test.

Constraints

  • No external libraries (vanilla JS only)
  • Maximum execution time per test: 1000ms
  • Must handle nested objects and arrays

More JS Coding

View all JS Coding →
JS CodingMedium

4. Improve a function

JS CodingMedium

5. Throttle

JS CodingMedium

13. Deep Clone

JS CodingMedium

14. Event Emitter

JS CodingEasy

66. Promise Methods

JS CodingEasy

19. Memoize I

Related hubs

  • All JavaScript coding
  • JavaScript interview questions
  • JS polyfill interview questions
  • Debounce & throttle questions
  • React interview hub