Legacy Code often doesn't have a Pipeline. That's why we have built a Pipeline, so that we have the foundation for automated test execution to support TDD.
(1) A developer might write some failing test, but to make the test pass, their quick and dirty implementation might be to use something from their local computer, perhaps referencing C:\JohnSmith\some_file.txt in their source code. Their test passes - on their computer. But it would fail everywhere else. Without a pipeline, they'd block their whole team, when everyone pulls this version of code.
(2) A developer might forget to run the full test suite before committing code. Without a pipeline, when their team members pull the code, the test suite would be failing on everyone else's computer.
Thus, yes, we could practice TDD without having a Pipeline, but we lose the assurance of having the independent assurance of running tests on a Build Server.
Is it possible to do TDD without a pipeline?
Suppose we practice TDD but there's no pipeline.
(1) A developer might write some failing test, but to make the test pass, their quick and dirty implementation might be to use something from their local computer, perhaps referencing C:\JohnSmith\some_file.txt in their source code. Their test passes - on their computer. But it would fail everywhere else. Without a pipeline, they'd block their whole team, when everyone pulls this version of code.
(2) A developer might forget to run the full test suite before committing code. Without a pipeline, when their team members pull the code, the test suite would be failing on everyone else's computer.
Thus, yes, we could practice TDD without having a Pipeline, but we lose the assurance of having the independent assurance of running tests on a Build Server.