在Python3中使用单元测试和正常进行测试之间的区别

新手程序员

使用单元测试和普通测试之间实际上有什么区别?

通过normal tests我的意思是,使用if语句,例如,以确定是否计算等于如果返回false所需的答案,我们可以提高AssertionError

德克·赫尔曼

让我们以一个简单的代码为例:

def square(a):
   return a*a;

旨在单独查找此功能中的错误的测试是单元测试。这与您实际实现它们的方式无关:如果您只写if像这样语句if (square(3) != 9)AssertionError按照您的意愿提出,那么这就是单元测试。相反,如果您unittest通过调用来实现相同的测试assertEqual,那么它也是一个单元测试。

换句话说,是否使用(所谓的)单元测试框架不是测试是否为单元测试的标准。实际上,尽管有框架的名称(Python中为“ unittest”,Java中为“ JUnit”,...),这些框架仍可用于单元测试以及其他测试,例如集成测试。因此,这些框架的名称有点误导。

关于单元测试和普通测试之间的区别的原始问题就这么多了。在其中的一条评论中,您更清楚地表明您实际上想知道哪种更好:使用或不使用测试框架。而且,答案很明确:绝对要使用测试框架。

在“手动”编写了少量测试(即没有测试框架)之后,您将看到测试代码中有很多重复项:将结果与进行比较if-差别不大。但是然后,在成功的情况下,您将使用测试名称编写一些“通过”消息,在失败的情况下,您将使用测试名称再次编写“失败”的消息,在这种情况下,还将包含一些关于实际名称的信息。以及预期的结果是什么。并且-您是否考虑过被测代码异常退出的情况?因此,您还必须用try / catch块包装它,以确保意外的异常导致“失败”结果,并再次提供一些有用的诊断信息。

依此类推...测试框架将为您处理所有这些以及更多工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Python3 中使用单元测试进行单元测试

在Visual Studio2013中使用茉莉花和Chutzpah进行单元测试angularjs无法正常工作

Python3单元测试:如何使用运算符与MagicMocks进行比较

在Python中使用模拟进行单元测试

在 Python 中使用单元测试进行断言后打印

等效于python3单元测试中的Proxyquire

Android Instrumentation测试和Android Studio中的单元测试之间的区别?

使用Pydev进行连续单元测试(Python和Eclipse)

使用Python进行单元测试中的依赖注入

Angular中的单元测试,集成测试和端到端测试之间有什么区别?

在Visual Studio 2013中使用HttpClient进行单元测试/集成测试Web API

使用Python单元测试进行Scala测试

使用Gradle在Android中使用JUnit进行单元测试

在AngularJS中使用Jasmine对滤镜进行单元测试

在单元测试中使用 StringBuilder 进行 PInvoking

在Java中使用toString()进行单元测试

对在Swift中使用REST调用的方法进行单元测试

在Xamarin中使用Moq进行NUnit单元测试

在 Laravel 中使用 Model::Find 进行单元测试失败

Python3单元测试HTML报表

在SpringBoot中使用liquibase和H2数据库进行单元测试

Visual Studio C ++托管测试项目和本机单元测试项目之间的区别

在流明中进行单元测试时,数据库迁移和事务之间有什么区别?

使用 assertAlmostEqual 的 Python 2.7 单元测试无法正常运行

如何在Python中使用随机种子值对PRNG进行单元测试?

使用 jasmine 和 angular 对基类进行单元测试

使用 Moq 和接口进行单元测试

使用RxJava2和MutableLiveData进行单元测试

使用Moq和xUnit对服务进行单元测试