3.6 [ Enterprise Library ] 单元测试
转载请注明出处:http://www.cnblogs.com/doriandeng/archive/2007/10/09/918404.html
Enterprise Library 包含二个包含使用应用程序块项目的单元测试的 Visual Studio 2005 解决方案文件。一个解决方案包含 NUnit 单元测试,另一包含 Visual Studio Team System( VSTS )单元测试。可以使用解决方案文件构建带有单元测试的整个 Enterprise Library 。表1描述了解决方案文件。
表 3.3. 解决方案文件
配置 | 描述 |
---|---|
EnterpriseLibrary.VSTS.sln | 包含完整的应用程序块项目集和 Enterprise Library 核心项目。包括所有用 Visual Studio Team System 运行的单元测试 。 |
EnterpriseLibrary.Nunit.sln | 包含完整的应用程序块项目集和 Enterprise Library 核心项目。包括所有用 NUnit 运行的单元测试 。 |
Enterprise Library 解决方案文件包括二个构建配置: Release 和 Debug 。所有在解决方案文件 中的项目都在这二个配置下编译,包括单元测试项目。(更多信息,请参见构建 Enterprise Library )
软件需求
要运行 Visual Studio Team System 单元测试,必须安装 Visual Studio Team System 2005 。关于 Visual Studio Team System 的更多信息,请参见MSDN 中的 Microsoft Visual Studio Team System 网页。
要运行 NUnit 测试,必须安装 NUnit 2.2 或更高版本。要下载 NUnit ,请参见 NUnit.org 网站。
组织
在项目中的应用程序块单元测试与应用程序块项目是分离的。这些项目放置在 UnitTests 目录中。要让单元测试代码可以访问应用程序块的 internal 类型和成员,应用程序块使用了 InternalsVisibleTo 属性(这也像是声明了一个友元程序集)。
使用单元测试
Enterprise Library 这个版本包含一个标记为 VSTS 的解决方案文件集和一个标记为 NUnit 的解决方案文件集。这二个解决方案文件集包含了同样的 Enterprise Library 项目,但包含不同的单元测试项目。VSTS 解决方案包含了用 Microsoft Visual Studio Team System 运行的单元测试;这些解决方案文件在你只有标准版或专业版的 Visual Studio 时将无法打开(即使你不想运行单元测试)。你必须安装 Visual Studio Team System 来打开 VSTS 解决方案文件。
NUnit 解决方案包含用 NUnit 2.2 运行的单元测试 。如果没有安装 NUnit ,将无法编译和运行测试;然而,依然可以在所有 Visual Studio 2005 版本中打开 NUnit 解决方案文件。
如果没有安装 Northwind 数据库,将无法运行某些单元测试,在 Enterprise Library 中的某些单元测试需要在命名为 .\sqlexpress 的 SQL Server 实例中存在有 Northwind 数据库。Northwind 数据库内置在 SQL Server 2005 中。如果要运行单元测试就要使用这个数据库,可以从 Northwind and pubs Sample Databases for SQL Server 2000 下载脚本创建 Northwind 。
创建用于单元测试的数据库的脚本(如 CreateCachingDb.cmd 和 CreateLoggingDb.cmd )全部假设存在一个名为 SQLEXPRESS 的本地 SQL Server 实例。
其他的单元测试可能依赖于如消息队列和授权管理这类服务。