您的位置:首页 > 其它

开发者视角:使用VSTS进行应用程序分析和单元测试(下)

2009-06-12 09:52 453 查看
[b]单元测试[/b]
  单元测试对于开发者来说,尤其重要,如果开发者接受TDD的方式,那么单元测试将成为不可或缺的一部分,尽管要测试的“单元”(此处的单元包括类型、方法等)的大小各异,但VSTS测试工具 会生成专门针对方法(包括私有方法)的单元测试。

  单元测试用于通过直接调用某个类的方法(传递相应参数)来执行其他源代码。因此,如果包括Assert语句,它们可以根据所期望的值来测试实际生成的值,单元测试方法位于测试类中,测试类存储在源代码文件中。

  可以使用能够创建测试的初始源代码的代码生成功能来创建单元测试,也可以完全手动编写测试。无论使用何种方式,测试类和所有测试方法都用编程属性加以标识。如使用[TestClass()]特性标记每个测试类,每个单元测试都是一个使用[TestMethod()]特性标记的测试方法。这些属性是在生成单元测试时自动分配的;如果是手动编写单元测试代码,则必须自行添加类和方法的属性。

  在文件组织结构上,我们习惯于对于测试项目通过“项目名” + "Test"字符表示,而对于每个测试类,习惯于为它们加上后缀Fixture,这也是微软推荐的方式。

  下面是一段来自于微软模式与实践团队中Unity项目的测试代码:

[TestMethod]
publicvoidResolverWithElementsReturnsEmptyArrayIfThereAreNoElements()
{
IUnityContainer container=newUnityContainer();
objecto1=newobject();
objecto2=newobject();
objecto3=newobject();

container
.RegisterInstance<object>("o1", o1)
.RegisterInstance<object>("o2", o2);

BuilderContext context=GetContext(container,typeof(object));

ResolvedArrayWithElementsResolverPolicy resolver
=newResolvedArrayWithElementsResolverPolicy(typeof(object));

object[] results=(object[])resolver.Resolve(context);

Assert.IsNotNull(results);
Assert.AreEqual(0, results.Length);
}
  在VSTS中所有的测试操作都可以通过“测试”菜单下的命令完成,如图8所示:



图8

  可以新建测试,或者在这里运行测试,或者对整个解决方案运行单元测试。

团队协作

  VSTS不仅给开发者带来了强大的代码度量、分析以及单元测试等功能,同时也无一不在体现团队协作的理念,现在我们可以直接在VSTS上安装团队资源管理器(在下一个VSTS版本中团队资源管理器不需要单独安装),团队资源管理器是Team Foundation的客户端,可提供对Team Foundation Server 中包含的功能的访问:

  ·工作项

  ·团队项目

  ·团队文档

  ·报告

  ·团队生成

  ·源代码管理

  在安装完团队资源管理器之后,可以直接连接到Team Foundation Server,对资源进行管理,如图9所示:



图9总结

  从开发者视觉来看,Visual Studio Team System不仅给开发者带来了极其强大的代码度量、代码分析以及单元测试等功能,在团队协作也体现的相当完美,团队资源管理器就是一个很好的体现,极大的提高了团队协作的效率。

转自:http://www.51testing.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: