Do you put unit tests in the same project for convenience or do you put them in a separate assembly?
If you put them in a separate assembly like we do, we end up wit
Separate projects, although I debate with myself whether they should share the same svn. At the moment, I'm giving them separate svn repositories, one called
"MyProject" - for the project itself
and one called
"MyProjectTests" - for the tests associated with MyProject.
This is fairly clean and has the advantage that commits to the project and commits to the tests are quite separate. It also means you can hand over the project's svn if needed, without having to release your tests. It also means you can have branch/trunk/tag directories for your tests and for your project.
But I'm increasingly inclined to have something like the following, in a single svn repository, for each project.
MyProject
|\Trunk
| |\Code
| \Tests
|\Tags
| |\0.1
| | |\Code
| | \Tests
| \0.2
| |\Code
| \Tests
\Branches
\MyFork
|\Code
\Test
I'd be interested to know what other people think of this solution.