Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 与VisualStudio2008提供的测试库相比,其他测试库有什么优势?_Visual Studio_Visual Studio 2008_Unit Testing_Testing - Fatal编程技术网

Visual studio 与VisualStudio2008提供的测试库相比,其他测试库有什么优势?

Visual studio 与VisualStudio2008提供的测试库相比,其他测试库有什么优势?,visual-studio,visual-studio-2008,unit-testing,testing,Visual Studio,Visual Studio 2008,Unit Testing,Testing,或者从另一个角度看,是否有理由安装NUnit或任何其他库,并使用它而不是Visual Studio 2008附带的库?您希望没有Visual Studio 2008或只有Express edition的开发人员运行单元测试?这对于开源项目尤其重要。如果是这样,我会选择一个开源单元测试框架。我认为VS2008之前创建的大多数测试项目现在仍然会使用其他库 对于较新的项目,我想这取决于个人品味或公司政策 另外,我认为并非所有visual studio版本都支持测试框架…NUnit允许您按定义的顺序运行

或者从另一个角度看,是否有理由安装NUnit或任何其他库,并使用它而不是Visual Studio 2008附带的库?

您希望没有Visual Studio 2008或只有Express edition的开发人员运行单元测试?这对于开源项目尤其重要。如果是这样,我会选择一个开源单元测试框架。

我认为VS2008之前创建的大多数测试项目现在仍然会使用其他库

对于较新的项目,我想这取决于个人品味或公司政策


另外,我认为并非所有visual studio版本都支持测试框架…

NUnit允许您按定义的顺序运行测试,而visual studio测试框架同时运行测试。

我刚刚开始使用visual studio测试项目。我没有使用第三方测试产品的经验,但我发现VisualStudio one似乎完全适合大多数情况

我想这可以归结为你在这方面的经验

如果你已经知道如何使用NUnit和/或Rhino Mock,那就去用吧

如果您对这两种方法都没有经验,或者不太在意如何获得经验,那么就使用VisualStudio提供的方法

一个有用的指针是,如果您右键单击并从代码中的任何位置选择“创建单元测试”,VisualStudioOne将自动为您创建测试方法存根和访问器。如果您在编码之前没有遵循严格的TDD编写测试,这将非常有用。

一些优点:

  • (Jon's)您可以在VS 2008 Express中运行测试
  • 许多尖端功能都建立在免费库之上。例如
  • 一般来说,在OSS测试框架方面是有问题的
  • 您可以调试到OSS框架的源代码中,并根据需要进行更改
  • 可以说,一些测试框架更容易学习,并实施更干净的无副作用测试模式

由于它支持几乎所有的OSS测试框架,因此您可以获得与VS2008相同(如果不是更好的话)的IDE集成

自VS2005以来,我们一直在使用MS测试工具,我确实曾考虑过NUnit作为替代品,因为我们在使用MS工具时遇到了一些问题。以下是我的一些发现:

MS测试工具专业版

  • 易于说服管理层使用MS提供的工具(当然这不是技术问题,但可能与许多公司有关)
  • 测试库、测试运行程序和代码覆盖率都与VS很好地集成
  • 中的中心报告和其他特征
  • 与NUnit大致相同的功能集(我感觉NUnit可能比MS测试工具好一点,但差别不大)
MS测试工具

  • VS2005-速度非常慢,VS2008要好得多,但对于大型解决方案来说仍然很慢
  • 测试主机是STA,这使得测试多线程代码更加困难
  • VS支持有点笨拙,因为它们在同一界面中支持先测试后测试(因此有两个“新单元测试”命令->更多支持工作)
最终,由于以下几个原因,转向NUnit对我们没有吸引力:

  • 代码更改不多,但通过大量测试,仍然需要做一些工作
  • 增加了每个开发人员的成本和复杂性:如果您将MS测试与NUnit交换,那么您也会失去测试运行程序和代码覆盖率。这两种方法都可以通过其他工具获得,如R#、TestDriven.NET、NCover等,但这一切都增加了成本和复杂性
      重新测试的几个注意事项

      1) 有一个完整的团队致力于将功能推向市场(这实际上是他们的全职工作)。这些人最终拥有编写文档的资源,与其他Microsoft产品的集成点,讨论来自一般测试社区的进展,以及这些进展如何进入Microsoft测试产品,以及总体而言,一个致力于这项工作的全面、全功能的产品单元。当您使用MSTest时,您将充分受益于这些人的努力和MSTest投入的资金

      2) 网络测试和压力测试。还有一个专门的小组(与MSTest小组分开)负责Web测试和压力测试。这些都是微软对测试堆栈的巨大补充。它们提供了模拟在线用户、使用复杂带宽操作、检查服务器性能等多种方法。Web和压力测试是真正让MS测试堆栈看起来很难的一个重要原因

      3) 功能测试。。。Ms正在添加全UI自动化测试支持,这将真正完善他们的产品。就早期版本的MS测试工具而言,它是缺失的,但必须考虑的是,一套完全集成的UI测试工具将真正增加MS测试技术投资的总体存量

      4) 如上所述-冲击试验。从开发人员的角度来看,这很酷。如前所述,这些工具选择了正确的单元测试,这些测试通过了单元测试的代码覆盖率。所以一个开发人员编辑和现有的类,等等。。。该工具专门指向影响签入的测试。顺便说一句,这是一个很好的例子,说明了我在#1中提到的研究成果

      。。。。BTW -全面披露-我直接工作的VSTS,并完全认为它是我的家庭的一部分-所以是的-我完全妥协的偏袒。< / P > 至于非MS测试工具

      A) 你不能忽视其他公司或整个开源社区的努力。如果你一方面考虑整个开源社区和所有其他公司的努力和几个微公司,真正的MS仍然会丢失。