什么是单元测试?

我看到几个问题询问'如何'用细节语言进行设备检查,但毫无疑问地问'什么','为什么',以及'什么时候'。

  • 它是什么?
  • 它为我提供了什么?
  • 我为什么要利用它?
  • 我什么时候应该使用它(另外当没有)?
  • 什么是常见的挑战,也有错误的印象
0
2019-05-03 22:50:06
资源 分享
答案: 4

单元测试是对代码设备(例如,一个单独的功能)的测试,不需要该代码设备所依赖的框架。 即单独检查。

例如,如果要测试的功能附加到数据源并进行升级,则在设备检查中,您不打算进行该升级。 您肯定会接受同化检查,但在这种情况下不是。

因此,设备检查肯定可以解决您正在测试的“功能”中所限制的功能,而不会造成数据源升级的负面影响。

声称您的函数从数据源中获取了一些数字,然后执行了典型的不一致估计。 您想在下面检查什么? 是否正确计算了典型的不一致或从数据源返回了信息?

在设备检查中,您仅打算检查是否正确计算了典型的不一致。 在同化检查中,您打算检查典型的不一致估计以及数据源访问。

0
2019-12-03 01:04:42
资源

这是我的看法。 我当然会声称单元测试是创建软件程序检查的技术,以验证您的实际软件程序是否按照建议进行操作。 这开始于Java globe中的JUnit的,并且在SimpleTest的PHPUnit的中实际上也是PHP的理想技术。 它是极限编程的核心技术,也可帮助您确保软件程序在编辑和增强后仍按计划运行。 如果您有足够的考试保险,您可以进行重大的重构,错误处理或快速添加属性,而不必担心出现各种其他问题。

所有设备检查都可以立即运行,这是最可靠的。

单元测试通常与OO增长有关。 主题是创建一个手稿,为您的代码建立设置并随后进行练习; 你编写断言,定义你需要接收的所需结果,然后执行你的考试手稿,利用如上所述的结构。

结构肯定会与您的代码进行所有检查,然后报告每次检查的成功或失败。 默认情况下,phpUnit的范围是Linux命令行,尽管有很多HTTP用户界面可供使用。 IMT,SimpleTest自然在线,也更容易上升和运行。 与xDebug混合使用时,phpUnit可以为您提供代码保险的自动统计信息,有些人认为这些信息非常有价值。

一些组从他们的subversion数据库中编写钩子,以确保每当您进行调整时,设备检查都会立即运行。

将您的设备维护在与应用程序完全相同的数据库中是一种很好的技术。

0
2019-05-07 18:39:43
资源

单元测试是关于谈话,测试单独使用检查代码。 进入你脑海的好处是:

  • 运行考试是可自动化的,也是可重复的
  • 您可以使用GUI进行比点击测试更精细的检查

请注意,如果您的检查代码与文档联系,打开数据源链接或通过网络执行某些操作,则更适合将其归类为同化检查。 同化检查是一个好主意,但不需要对设备检查感到困惑。 设备检查代码需要简洁,愉快且快速执行。

考虑单元测试的另一种方法是首先编写考试。 这称为测试驱动开发(简称TDD)。 TDD带来了额外的好处:

  • 你不会写出“我可能在将来要求这个”的推测代码 - 只需足以让考试通过
  • 您创建的代码经常被考试覆盖
  • 通过首先创建检查,您可以考虑如何调用代码,这通常可以在将来增强代码的布局。

如果您目前正在进行单元测试,我建议您继续进行。 获得一本优秀的出版物,几乎任何类型的xUnit-book肯定会做,因为这些原则在它们之间可以显着转移。

偶尔创建设备检查可能会令人难以忍受。 当它以这种方式获得时,寻找一个人来帮助你,并且还能站起来“简单地写下该死的代码”。 单元测试就像清洁食谱一样。 它并不总是积极的,但它保持你的象征性烹饪区域整洁,而且你实际上也希望它整洁。 :)


编辑:一个错误的印象进入你的脑海,虽然我不确定它是否如此平常。 我听了一个任务主管声称设备检查让小组写了两次所有代码。 如果它以这种方式看起来,那么,你做错了。 创建考试通常不仅可以加快增长速度,而且还可以为您提供一个无障碍的“目前我已经完成”的指示,这是您不会有的。

0
2019-05-07 17:15:41
资源

我与丹没有什么不同(虽然更好的选择可能根本就没有解决)......但......

单元测试是创建代码以检查系统的操作和功能的过程。

清楚地检查可以提高代码的最高质量,但这只是单元测试的表面优势。 实际的优点是:

  1. 使变换技术执行变得不那么复杂,同时看到它你不会改变行动(重构)。 有效地设备检查代码可以粗体重构/清理,远程破坏任何东西而不会看到它。
  2. 在包含操作或制定解决方案时,为程序员提供自信。
  3. 记录你的代码
  4. 指出代码紧密配对的位置。 设备检查代码很难配对
  5. 提供一种利用API的方法,并预先解决问题
  6. 表示方法以及不自然的课程

您需要进行设备检查,因为您热衷于为您的客户提供可维护且高质量的产品。

我当然会建议你将它用于任何类型的系统,或系统的组件,它可以实现真实世界的操作。 简而言之,它特别适合风险投资增长。 我当然不会将它用于丢弃/实用程序。 我肯定不会将它用于系统的组件,这些组件很难检查(UI是一个常见的实例,但实际上并不是这个实例)

最好的挑战是程序员还要检查巨大的设备,或者他们考虑一种设备的方法。 如果您不认识控制反转,那么这是特别真实的 - 在哪种情况下,您的设备检查肯定会不断发展为端到端的同化筛选。 设备检查需要检查特定的操作 - 并且大多数方法都有几个操作。

最好的错误印象是设计师不应该检查。 只是消极或粗心的设计师认为。 您的屋顶覆盖物的个别结构是否应该检查它? 改变心脏关闭的医疗专业人员是否应该检查新的关闭? 只是设计师可以检查他的代码是否按照他的计划行事(QA可以检查副作用 - 当代码通知设计师真正没有计划的时候代码如何行动,以及客户可以进行审批 - 是否代码做客户花在它上面的事情)

0
2019-05-07 16:49:16
资源