Ani*_*tla 2 c# testing unit-testing projects-and-solutions solution
我是C#的新手,我很难搞清楚测试组件的工作原理.这是我的Solution目录(里面有一个项目MyProject):
MySolution/MySolutionFile.sln -- My Solution File
MySolution/packages -- My Packages Directory
MySolution/MyProject/Properties -- My Project Properties
MySolution/MyProject/src -- My Source Code
/src/MyClass1.cs
/src/MyClass2.cs
MySolution/MyProject/test -- My NUnit Tests
/test/MyClass1Test.cs
/test/MyClass2Test.cs
MySolution/MyProject/TheMainClass.cs
Run Code Online (Sandbox Code Playgroud)
现在我可以在visual studio的测试文件夹中运行所有测试.但是我想从像TeamCity这样的CI系统运行测试,在这种情况下我需要一个汇编路径.如何仅将测试文件夹生成到要运行的程序集中.
我是否需要在主类中添加一个在MySolution/test文件夹中运行每个测试的方法?
我想你需要了解项目和解决方案:http://msdn.microsoft.com/en-us/library/ee817674.aspx
之后,一切都变得更加清晰:在解决方案内部有一个解决方案为您的应用程序创建一个项目,并为您的单元测试创建一个项目.在测试项目中添加对您选择的测试框架的引用以及对应用程序项目的引用.
这样您的应用程序就不知道您的测试并编译成一个程序集.同时,您的测试取决于您的应用程序,但编译成另一个程序集,可供您的测试运行器GUI/CI或您使用的任何其他程序使用.
要回答你的下一个问题,对于测试项目,你需要选择"库"的项目类型(如果你愿意,控制台应用程序也可以工作)