Code is not a spec. It's an instruction set. It can be a spec if you try hard but that's not an inherent property of code. For example you can write code to be a compiler..that makes it a spec. But hello world is not a spec.
As for whether or not LLMs can write unit tests. The answer is yes.
For non trivial uses it wouldn't be a great spec. But I think we can bring our worlds together with a bit of boilerplate.
> The system shall have behavior identical to that expressed by the system created by the following source code. [add some stuff about environment to taste]