This question already has an answer here:
Makefile removes object files for no reason
The object files for the test binaries are intermediate products, because the test binaries are created using implicit rules, as opposed to the
libft.a archive, which is created with an explicit rule.
Because they're intermediate products of a chain of pattern rules, they're deleted at the end of the build.
The Make manual page that talks about this is Chains of Implicit Rules.