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
How We Built a Sub-10ms Latency Monitoring Engine in Python & Docker
0dev.to
Robust State Estimation and Sensor Fusion for UAVs
0dev.to
Caption a video from an MCP client in three tool calls (no sign-up)
0dev.to

Cara kerja Local Model di osFoundry, dari memilih model open sampai melatihnya di komputer sendiri
0dev.to
Structured Output Doesn't Validate LLMs. It Resamples Them
0dev.to
Cron Job Trigger Approach — Combining Worker-Based Queues for Long-Running Report Tasks
0dev.to