2

我是 C# 新手,并且在弄清楚测试程序集如何工作时遇到了特别困难。这是我的解决方案目录(里面有一个项目 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

现在我可以从 Visual Studio 运行测试文件夹中的所有测试。但是我想从像 TeamCity 这样的 CI 系统运行测试,在这种情况下我需要一个组装路径。如何仅将测试文件夹生成到要运行的程序集中。

我是否需要在主类中添加一个运行 MySolution/test 文件夹中每个测试的方法?

4

1 回答 1

5

我认为您需要阅读有关项目和解决方案的信息:http: //msdn.microsoft.com/en-us/library/ee817674.aspx

在那之后,一切都变得更加清晰:拥有一个解决方案,在该解决方案内部为您的应用程序创建一个项目,并为您的单元测试创​​建一个项目。在测试项目中添加对您选择的测试框架的引用和对您的应用程序项目的引用。

这样,您的应用程序就不会知道您的测试并编译到一个程序集中。同时,您的测试依赖于您的应用程序,但编译成另一个程序集,可以由您的测试运行程序 GUI/CI 或您使用的任何其他程序使用。

为了回答您的下一个问题,对于测试项目,您需要选择“库”的项目类型(如果您愿意,控制台应用程序也可以工作)

于 2012-09-12T00:17:00.533 回答