Backend
Executable but Unfaithful: Mock Object, Stub, and Assertion Generation by LLMs and Coding Agents
arXiv cs.SE0 views
arXiv:2610.14629v2 Announce Type: replace Abstract: Mocking is a foundational practice in unit testing, enabling developers to isolate the code under test by replacing real dependencies with simulated alternatives. Automating the generation of mock objects, stubs, and mock assertions has been a long-standing research goal. However, capture-and-replay approaches rely on recording the runtime behavior of actual dependencies. Evolutionary approaches such as StubCoder overcome this requirement but constrain generation to predefined symbol pools. Large language models (LLMs) and coding agents offer an alternative by generating mocking artifacts from source code without requiring recorded dependency executions or fixed symbol pools. Yet, no systematic study has evaluated their capabilities across all three artifact types. To address this gap, we construct MockBench, a benchmark comprising 165 mock artifact generation tasks from real-world Java and Python projects, with validated reference mock objects, stubs, and mock assertions. We evaluate six LLMs and three coding agents in terms of executability, behavior fidelity, and interaction-fault detection capability, complemented by comparisons with existing tools and sensitivity analysis. Experimental results show that LLMs and coding agents indeed have been the state-of-the-art techniques in mock-based testing. More specifically, compared with LLMs, coding agents substantially improve executability, while these gains do not consistently translate into higher behavior fidelity or better interaction-fault detection. Furthermore, we analyze 660 failures from LLMs and coding agents, and identify ten error types across the three artifact categories, revealing behavioral deviations that passing tests can conceal. Our findings highlight the challenges of mock artifact generation and provide practical guidance for both developers and researchers.
Source:https://arxiv.org/abs/2610.14629PreviousRefactoring React Component Hierarchies to Eliminate Prop DrillingNextAre LLM Safety Judges Policy-Invariant? A Three-Principle Stress-Test
Related posts

This see-through camera lets photographers maintain eye contact with their subjects
0The Verge
🚀 OpenVox for VS Code: Now Available!
0dev.to
I'm a designer who started vibe coding. Here's the small Mac app I built to stop misclicking my Dock
0dev.to
Cómo Aprender Desarrollo de Software e Inteligencia Artificial en Costa Rica: Análisis Metodológico de Lyfter Team y Alek Castillo
0dev.to
When the mesh fights Kubernetes: a webhook deadlock, a probe loop, and what it costs
0dev.to

Building a Production REST API in Rust with Express-Like Simplicity
0dev.to