创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
黑丝 在线 【单元测试】NUint使用详解及Visual Studio建立 - 做爱图片

黑丝 在线 【单元测试】NUint使用详解及Visual Studio建立

栏目分类黑丝 在线 【单元测试】NUint使用详解及Visual Studio建立

你的位置:做爱图片 > 婷婷丁香 >

黑丝 在线 【单元测试】NUint使用详解及Visual Studio建立

发布日期:2024-11-03 13:05    点击次数:69
阅读目次 什么是单元测试? 为什么使用单元测试? NUint使用详解:

示例黑丝 在线

属性

断言

随性测试

VS建立:

External Tools

Visual Nunit 2010

NUnit Test Adapter

跋文 什么是单元测试?

  单元测试(Unit Testing)是针对最小的可测试软件元素(单元)的,它所测试的本色包括单元的里面结构(如逻辑和数据流)以及单元的功能和可不雅测的举止。等闲少许讲,即是咱们编程的时候,编写的一个测试步调用于检测功能是否正确的代码段,频繁而言,一个单元测试是用于判断某个特定条目(大略场景)下某个特定函数的举止。

  比如咱们在编写代码的时候,写一个功能的终了代码,然后再编写一个Test步调用于测试这个功能的代码正确性,其实这个Test步调即是单元测试,又如在制造飞机的时候,频繁会先分娩飞机的零部件,然后再把这些比比皆是的零部件进行拼装,可是在拼装之前,频繁会对每个飞机零部件进行测试,通过了智商称为着实的飞机零部件,这个零部件测试其实即是“单元测试”。换个角度念念考,要是再飞机拼装后再进行测试,你会发现这是何等的愚蠢,这也诠释了“单元测试”的攻击性。 

  一般认为,在结构化设施期间,单元测试所说的单元是指函数,在面前的面向对象期间,单元测试所说的单元是指类。以类看成测试单元,复杂度高,可操作性较差,因此仍然主张以函数看成单元测试的测试单元,但不错用一个测试类来组织某个类的通盘测试函数。单元测试不应过分强调面向对象,因为局部代码也曾是结构化的。单元测试的责任量较大,随性实用高效才是硬道理。

  有一种看法是,只测试类的接口(公有函数),意外试其他函数,从面向对象角度来看,照实有其道理,可是,测试的方针是找错并最终排错,因此,惟有是包含乌有的可能性较大的函数齐要测试,跟函数是否疏淡没关沟通。

  注:上头部分观点开始百度百科。

为什么使用单元测试?

  为什么使用使用单元测试?随性来说,原因就像妊妇作念“胎前查验”相似。咱们在成扬名方针进程中,作念某一模块的功能,代码写完毕,然青年景一下就丢给测试东说念主员去测试,临了测试东说念主员就提议一大堆的Bug,固然代码的语义上莫得问题,可是并不代表代码终了功能没问题,这时候就需要作念“单元测试”了,在提交给测试东说念主员之前确保“代码功能”终了莫得问题,天然需求乌有即是另一方面的问题了,这是“单元测试”所测试不了的。

  对于“单元测试”,好多设施员很少主动的去作念,至少我是这么,为什么?

太骁勇了 消费太多手艺 仅仅诠释代码莫得问题 我写的代码服气没问题

  上头几条一般是咱们抑遏“单元测试”的几个主要原因,说白了,即是咱们太自信、太懒了,对于“单元测试”的平允就未几说了,就像上头的例子相似,要是你不作念“胎前查验”,比及你的孩子生下来身体有所“症结”,你后悔也来不足,这也即是使用“单元测试”的原因。

NUint使用详解

  NUint是咱们作念“单元测试”常用框架之一黑丝 在线,官网地址:,官网上也提供联系文档,不错下载参考下:NUnit-2.6.3-docs.zip,NUint在名目中的装配使用主要有三种形势:

NUnit-2.6.3.msi:设施包装配,会添加到注册表,这个在建立VS的时候会用到。 NUnit-2.6.3.zip:压缩包解压,需要在名目中添加NUint援用。 NuGet装配号召:install-package nunit。 示例

  对于NUint的使用,先贴一段最随性的“单元测试”的代码:

属性

  不错看到在测试类和测试步调前有TestFixture和Test属性,TestFixture暗示需要测试的类,也即是说测试的单元,Test暗示测试用例,也即是测试步调,NUint中的TestFixture和Test属性是咱们最常用的属性,天然除了他们俩除外NUint还提供了其他的一些属性,用来标注测试。

NUnit 属性 属性诠释 TestFixture 标记测试类 Test 标记测试用例(TestCase) TestFixtureSetup 标记测试类运行化函数 TestFixtureTearDown 标记测试类资源开释函数 Setup 标记测试用例运行化函数 TearDown 标记测试用例资源开释函数 N/A 标记测试用例诠释 Ignore 标记忽略该测试用例 ExpectedException 标记该用例所渴望抛出的很是 Explicit 标记测试用例是否需要显式推行 Category 标记测试用例的分类

  对于NUint的属性扎眼使用不错去官网的诠释文档中稽查,除了TestFixture和Test属性常用外,还有几个用于测试用例运行化的属性:

TestFixtureSetup:在刻下测试类中的通盘测试函数运行前调用; TestFixtureTearDown:在刻下测试类的通盘测试函数运行完毕后调用; Setup:在刻下测试类的每一个测试函数运行前调用; TearDown:在刻下测试类的每一个测试函数运行后调用。

  TestFixtureSetup对应TestFixtureTearDown,Setup对应TearDown,Setup在AutoMapper源码使用如下,用于AutoMapper的运行化:

断言

  从咱们一出手贴的随性测试示例中不错看出,除了TestFixture和Test属性,还有即是这段代码:Assert.AreEqual("1", "2");,这即是NUint的另一个观点-断言,什么是断言?”断“是判断的意旨,”言“不错看作念是测试用例的描摹,也即是说用于测试用例的判断,如上段代码即是判断”1“和”2“是否绝顶,NUint常用断言:

断言 诠释 示例 Assert.AreEqual(object expected, object actual[, string message]) 考证两个对象是否绝顶 Assert.AreEqual(2, 1+1) Assert.AreSame(object expected, object actual[, string message]) 考证两个援用是否指向本旨对象 object expected = new object(); object actual = expected; Assert.AreSame(expected, actual) Assert.IsFalse(bool) 考证bool值是否为false Assert.IsFalse(false) Assert.IsTrue(bool) 考证bool值是否为true Assert.IsTrue(true) Assert.IsNotNull(object) 考证对象是否不为null Assert.IsNotNull(new object()) Assert.IsNull(object) 考证对象是否为null Assert.IsNull(null); 随性测试

  要是NUint装配好了,测试用例也编写好了,底下咱们就要使用NUint进行”单元测试“了,要是采取的是NUint装配设施,咱们不错平直在桌面大开”nunit.exe“设施,先生成一下咱们编写的测试用例,不错是类库名目也不错是诳骗设施,然后在大开的NUint设施中遴荐:”File“-”Open Project“,遴荐生成的dll或是exe,大开后点击”Run“就出手测试了:

  从测试效果看出,咱们编写的测试用例是欠亨过的,因为”1!=2“,在测试效果中会有乌有教唆,比如:Expected: "1",But was:  "2",咱们修改下测试用例:Assert.AreEqual("1", "1");,然后再生成下,看下测试效果:

  从测试效果看出,咱们编写的测试用例是测试通过的,因为”1=1“,这边注重一下,要是咱们指定了测试dll或是exe,在生成后,不需要再行大开名目,平直不错点击”Run“进行测试,因为咱们在编写代码的时候就进行”单元测试“了,这种通例的测试队设施员来说很不毛糙,咱们但愿不错再VS中集成NUint,这么就不错在编写代码的进程中很毛糙的进行”单元测试“了,怎样建立?请接着往下看。

External Tools

  ”推广用具条“这种形势仅仅在VS中不错毛糙大开NUint设施,其实并莫得毛糙几许,可是照旧比上头通例形势奥毛糙些。

  在VS中按底下形势建立:用具-外部用具,大开后添加如下号召:

  号召:NUint的装配旅途,参数:$(TargetName)暗示方针文献旅途,$(TargetExt)暗示方针文献推广名,运行目次:$(ProjectDir)暗示刻下设施的物理旅途,后头加”\bin\Debug“,也即是暗示刻下名方针生成旅途。点击笃定后,在用具条中会发现多了”NUint“用具:

  这边需要注重的是,在点击”NUint“这个用具之前,需要在代码窗体中大开需要测试的名目,比如刻下代码窗体是”Class.cs“,那么大开”NUint“用具条,自动大开的即是”Class.cs“场地的名目。

酒涩网 Visual Nunit 2010

  Visual Nunit 2010是NUint在VS的推广插件,注重此插件只适用VS2010,下载地址:-0836-4471-80ce-633383031099,装配后需要重启VS,大开:视图-其他窗口-Visual Nunit,大略按”Ctrl+F7“快捷键大开:

  大开Visual Nunit后,会有几个选项:Project、Mamespace和Fixture,隔离暗示测试名目、测试名目定名空间和测试用例,照旧上头的示例,适用Visual Nunit插件测试效果:

NUnit Test Adapter

  通过上头Visual Nunit的使用,你会发现其插件照旧蛮好用的,但缺憾的是只援救VS2010,找”Visual Nunit 2012“找了好久也没找到。临了发现,在VS2012中使用Nunit变了一种形势,即是NUnit Test Adapter,什么兴致?顾名念念义,即是NUnit测试适配器的兴致,网上有东说念主说使用”NUnit Test Adapter“,测试名目必须是微软的”单元测试名目“,我试了下类库和诳骗设施齐是不错测试的。

  使用”NUnit Test Adapter“,需要在VS2012中添加其推广:用具-推广和更新-联机-搜索”NUnit Test Adapter“:

  装配完成后,在测试-窗口-测试资源处治器中大开其窗口,照旧咱们上头的测试用例,测试效果:

跋文

  示例代码下载:

  对于“单元测试”,以及NUint几年前齐存在了,奈何小菜现在才出手斗殴,只恨我方生于太晚,但也为时未晚,本篇齐是一些基础的学问或建立,但愿大神们看到莫笑,要是能帮像菜鸟我相似的你,那确切莫大红运,本篇也仅仅出手,接下来会在名目中使用“单元测试”,到时候再作念些追想或感念与民众共享,还请情绪。

  要是你认为本篇著作对你有所匡助,请点击右下部“保举”,^_^

  参考辛苦:黑丝 在线

_nunit.html -nunit-with-visual-studio-2012-unit-test-projects.htm -nunit-in-visual-studio-2010/

创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
JzEngine Create File False