关于初学 Flutter 测试你需要知道的一切
原文 https://genotechies.medium.com/everything-you-know-about-flutter-testing-as-a-flutter-beginner-69b8b85f8a8b
前言
在本文中,我将与您分享什么是测试。什么是不同的测试类别?测试在 Flutter 中的表现。测试在软件的所有阶段从头到尾都是至关重要的。不仅仅是 QA 测试人员,所有的 Flutter 开发人员也需要知道在 Flutter 测试什么。至少是基本的。因此,这篇文章适用于所有加入 Flutter 项目的开发人员和 QA 测试人员。
正文
什么是测试?
让我们从什么是测试开始,测试就是,
软件测试是通过验证和验证来检查工件和被测软件的行为的行为。
它是一种检查实际软件产品是否符合预期需求并确保软件产品没有 bug 的方法。
为什么自动化测试很重要?
在测试中,它不能手动测试所有内容。如果你的应用程序有更多的功能,那么手动测试就非常困难。因此,我们使用自动化测试。自动化测试可以帮助您确保您的应用程序在发布之前正确执行,同时保留您的功能和错误修复速度。自动化测试将帮助您减少工作量,并保留所有与预测相关的工作。
这些是我们用来测试 Flutter 应用程序的最关键的测试类别。
单元测试ー单元测试对单个函数、方法或类执行测试。我们使用单元测试来测试您想要测试的非常小的代码或函数。
widget 测试ー widget 测试(在其他 UI 框架中称为组件测试)测试单个 widget 。
集成测试ーー集成测试测试一个完整的应用程序或应用程序的很大一部分,这些应用程序将许多事情和测试结合在一起,比如创建一个流。
Flutter 试验评估准则
根据这个表,您可以看到这个表,单元测试总是位于较低的一侧,而集成测试位于最高的一侧。在单元测试和 widget 测试中,执行速度非常快。但是集成测试很慢,因为集成测试是测试整个应用程序。
现在让我们看看我们应该在测试中使用哪些测试类别和哪些比率。为此,我们使用一个测试金字塔。
根据测试金字塔,您应该做与单元测试一样多的工作。它可以在您的测试中覆盖很多内容。其次,最重要的测试是综合测试。可以通过使用智能手机进行 widget 测试。你可以看到用户界面和一切。
现在我们来看这个例子。创建 flutter 项目时,可以看到一个测试文件夹。在这个文件夹中,我将创建一个名为 Calculator.dart 的新文件。在这个文件中,我将创建一个名为 Calculator 的类。
而且,在 test 文件夹中,我将创建另一个名为 Calculator_Test 的文件。 Flutter 。在这个文件中,它需要导入 flutter 包 flutter_test。 Flutter 。然后我们在这个文件中创建一个 main 方法。在 main 方法中,我们可以使用名为 test 的属性。这个测试是一个我们可以使用的方法,如果你使用 Flutter 片段。在这个方法中,有一个地方可以放置您的描述,它会给您一个回调来执行您的测试。
测试时有几个步骤
获取要测试的类的访问权。为此,我们创建该类的一个实例。
你到底想测试什么?例如,我想测试加法运算。为此,我创建了一个名为 result 的 int 变量,并给出了一些整数来测试它。
你对这个项目有什么期望?在这个步骤中,我们衡量我们是否满足了我们对这个项目的期望。为此,我们调用了一个预期的函数,并给出了实际的结果,以及与代码匹配的结果。根据我们的示例,real 是结果,match 是 5,因为我们为 add 方法提供了 3 和 2 来进行测试。这是一个非常简单的测试用例。我们将在这个问题上测试我们的程序,以确定它是否被正确地解决。我们要确保我们构建的逻辑是否正确。我们的程序知道或不知道正确的逻辑。
然后你就可以运行代码了。您将显示屏幕上的测试是否通过与否。你也可以看到花了多少时间。
并且,您可以在终端中进行 flutter 命令 flutter 测试。
现在我们要做一个小组测试。还有一个方法叫做 group。在分组方法中,我们给出了一个测试计算器的描述,在花括号中,我们给出了我们的分组测试用例。
您可以看到如下结果。两个测试在 28 毫秒内通过测试加法,它需要 25 毫秒和测试乘法需要 3.0 毫秒。
这里我将介绍两种用于测试的方法
- setUpAll
如果此函数位于测试组中,则主体将在所有测试之前运行。此函数注册一个要在所有测试之前运行一次的函数。
- TearDownAll
此函数用于在执行所有测试后运行。如果在测试组中调用此函数,则在所有测试之后将运行主体。
结束语
如果本文对你有帮助,请转发让更多的朋友阅读。
也许这个操作只要你 3 秒钟,对我来说是一个激励,感谢。
祝你有一个美好的一天~
© 猫哥
微信 ducafecat
https://wiki.ducafecat.tech
https://ducafecat.com