  Though many machine learning (ML)-based unit testing generation approaches
have been proposed and indeed achieved remarkable performance, they still have
several limitations in effectiveness and practical usage. More precisely,
existing ML-based approaches (1) generate partial content of a unit test,
mainly focusing on test oracle generation; (2) mismatch the test prefix with
the test oracle semantically; and (3) are highly bound with the close-sourced
model, eventually damaging data security. We propose CasModaTest, a cascaded,
model-agnostic, and end-to-end unit test generation framework, to alleviate the
above limitations with two cascaded stages: test prefix generation and test
oracle generation. Then, we manually build large-scale demo pools to provide
CasModaTest with high-quality test prefixes and test oracles examples. Finally,
CasModaTest automatically assembles the generated test prefixes and test
oracles and compiles or executes them to check their effectiveness, optionally
appending with several attempts to fix the errors occurring in compiling and
executing phases. To evaluate the effectiveness of CasModaTest, we conduct
large-scale experiments on a widely used dataset (Defects4J) and compare it
with four state-of-the-art (SOTA) approaches by considering two performance
measures. The experimental results indicate that CasModaTest outperforms all
SOTAs with a substantial improvement (i.e., 60.62%-352.55% in terms of
accuracy, 2.83%-87.27% in terms of focal method coverage). Besides, we also
conduct experiments of CasModaTest on different open-source LLMs and find that
CasModaTest can also achieve significant improvements over SOTAs
(39.82%-293.96% and 9.25%-98.95% in terms of accuracy and focal method
coverage, respectively) in end-to-end unit test generation
