关于单元测试框架的困惑?

时间:2017-05-23 04:51:02

标签: unit-testing testing tdd

我从整体上得到了单元测试和TDD的概念。

但是,我仍然对单元测试框架究竟是什么感到困惑。每当我阅读单元测试时,它通常都会解释它是什么,其次是"哦,这里是这种语言的框架,即JUnit"。

但这究竟意味着什么?框架只是一种测试库,允许程序员编写更简单/有效的单元测试吗?

此外,使用框架有什么好处?据我了解,单元测试一次只能在小块代码上完成,即一种方法。但是,我可以在不使用单元测试框架的情况下单独为方法编写测试。它可能用于测试实践的标准化吗?

我对测试和单元测试非常陌生,对一些基本概念的澄清会很棒。

1 个答案:

答案 0 :(得分:1)

一个广泛的问题,但我认为某些想法可以算作回答的事实:

  • 当5,10,100 ......人们用相同的想法/概念(例如单元测试)前进“工作”时,很可能,某些模式分别是最佳实践发展。人们有想法,通过反复试验,他们会发现哪些想法有用,哪些想法没有。
  • 然后人们开始传达他们的想法,那些“常用”模式经过讨论并得到进一步完善。
  • 迟早,人们开始想“我一遍又一遍地做同样的事情;我应该为我写一个程序来做那件事”。

这就是框架的形成方式:它们是工具,以支持特定活动的某些方面。

让我们举个例子:使用像JUnit这样的框架,我可以完全专注于编写测试用例。我不需要担心故障统计的累积;我不需要担心如何确保在我想要的时候执行所有我的测试。

我只是理解如何使用JUnit框架;我知道如何进一步将JUnit测试用例与gradle或maven等 build 系统结合使用 - 以便自动执行所有单元测试;每次我将提交推送到我的源代码管理系统中。

当然你可以在这里重新发明轮子;并自己实现所有这些。但这只是浪费时间。这就像是说:“我想把我的作物推向市场 - 让我们自己开始制造卡车”。不。您租用或购买预制卡车;并且你用它来做实际想要做的事情(移动东西)。