颤振稳定性叶瓣图_颤振测试让我们观察

2024-03-03 09:59

本文主要是介绍颤振稳定性叶瓣图_颤振测试让我们观察,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

颤振稳定性叶瓣图

Flutter automated testing enables you to achieve higher responsiveness in your app because it helps to find bugs and other issues occurring in your app. It is also important in other perspectives like credibility as a developer.

Flutter自动化测试使您能够在应用程序中获得更高的响应速度,因为它有助于发现应用程序中的错误和其他问题。 在其他方面(例如作为开发人员的信誉)也很重要。

Here comes a question which may come to your mind:

这是您可能想到的一个问题:

How can you know if your app is working or not if you have changed or added any features? And the answer is by writing test cases. So let’s understand how to do it.

如果更改或添加了任何功能,如何知道您的应用程序是否正常运行? 答案是通过编写测试用例。 因此,让我们了解如何去做。

We have 3 different testing features available

我们提供3种不同的测试功能

  1. Unit Test

    单元测试
  2. Widget Test

    小部件测试
  3. Integration Test

    整合测试

单元测试 (Unit Tests)

A unit test can be understood by its name, in the Unit test we test small parts of our code like single function, method or a class and it is very handy to do. It can be implemented by importing test package and if you want additional utilities for test flutter_test can be used.

单元测试的名称可以理解,在单元测试中,我们测试代码的一小部分,例如单个函数,方法或类,这非常方便。 它可以通过导入test包来实现,并且如果您想使用其他测试实用程序,可以使用flutter_test

Steps to Implement Unit Testing

实施单元测试的步骤

  1. Add the test or flutter_test dependency.

    添加testflutter_test依赖项。

  2. Create a test file.

    创建一个测试文件。
  3. Create a class to test.

    创建一个类进行测试。
  4. Write a test for our class.

    为我们的班级写一个test

  5. Combine multiple tests in a group.

    一个在合并多个测试group

  6. Run the tests.

    运行测试。

Till now we have understood how to import dependency so and let’s understand about the project structure

到目前为止,我们已经了解了如何导入依赖项,并且让我们了解了项目结构

counter_app/
lib/testing_class.dart
test/
unit_test.dart

Now in your project, you can see that there is already a test folder in which we will create our own class for testing,

现在在您的项目中,您会看到已经有一个测试文件夹,我们将在其中创建我们自己的测试类,

Let’s create a file testing_class.dart in which we will be multiplying two digits

让我们创建一个文件testing_class.dart ,其中将两个数字相乘

Image for post

Now write a class unit_test.dart in the test folder, where we will write this set of code, in this file there is a main() function and inside this function, we will write code for testing, as you can see in the “test” method object of testing class has been created and with the help of reference variable method of the testing class has been called and we are expecting the output value which should be the exact result.

现在,在测试文件夹中编写一个unit_test.dart类,我们将在其中编写此代码集,该文件中有一个main()函数,并且在此函数内部,我们将编写用于测试的代码,如您在“已创建测试类的“测试”方法对象,并在引用变量的帮助下调用了测试类的方法,我们期望输出值应该是准确的结果。

Image for post

And to test this code we will run the command(given below) in the terminal and observe the output of this.

为了测试此代码,我们将在终端中运行命令(如下所示)并观察其输出。

flutter test test/widget_test.dart

Now let us understand the testing with the help of Mockito

现在让我们在Mockito的帮助下了解测试

Mockito is used to mock interfaces so that a dummy functionality can be added to a mock interface that can be used in unit testing.

Mockito用于模拟接口,以便可以将虚拟功能添加到可以在单元测试中使用的模拟接口。

Here we are going to understand how can we implement it.

在这里,我们将了解如何实现它。

Let’s understand it step by step

让我们逐步了解它

Create a simple project then delete the sample code from the main.dart file. then fix all the errors of class.

创建一个简单的项目,然后从main.dart文件中删除示例代码。 然后修复所有的类错误。

import 'package:flutter/material.dart';import 'package:flutter_test_demo/home_page.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HomePage(),
);
}
}

Now we are going to test our HTTP request and for this, we are using JSONPlaceholder to find the API link then we create a model class by using the response. you can also create it by using different JSON to dart converter sites.

现在,我们将测试我们的HTTP请求 ,为此,我们使用JSONPlaceholder查找API链接,然后使用响应创建一个模型类。 您还可以通过使用不同的JSON到Dart转换器站点来创建它。

// To parse this JSON data, do
//
// final userInfoModel = userInfoModelFromJson(jsonString);import 'dart:convert';UserInfoModel userInfoModelFromJson(String str) => UserInfoModel.fromJson(json.decode(str));String userInfoModelToJson(UserInfoModel data) => json.encode(data.toJson());class UserInfoModel {
int userId;
int id;
String title;
String body; UserInfoModel({this.userId,this.id,this.title,this.body,
}); factory UserInfoModel.fromJson(Map<String, dynamic> json) => UserInfoModel(
userId: json["userId"],
id: json["id"],
title: json["title"],
body: json["body"],
); Map<String, dynamic> toJson() => {
"userId": userId,
"id": id,
"title": title,
"body": body,
};
}

Now we have a model class, after this, we need to make a separate class to make requests and get responses and for this, we would implement the most popular technique HTTP in api_provider class.

现在我们有了一个模型类,此后,我们需要创建一个单独的类来发出请求和获取响应,为此,我们将在api_provider类中实现最流行的HTTP技术。

import 'package:flutter_test_demo/src/models/user_info_model.dart';import 'package:http/http.dart' show Client;import 'dart:convert';class ApiProvider {
Client client = Client();
fetchData() async {final response = await client.get("https://jsonplaceholder.typicode.com/posts/1");
UserInfoModel userInfoModel = UserInfoModel.fromJson(json.decode(response.body));return userInfoModel;
}
}

Now its time to create a test class for testing, so we would be creating a file in the Test folder. when you will open this folder you will get an auto-generated file but we will delete this and create our own you can give any name to the file but remember one thing your file name should contain “_test” like api_provider_test.dart because if you don't write then flutter would not be able to find it as a test file.

现在该创建一个用于测试的测试类了,因此我们将在Test文件夹中创建一个文件。 当您打开此文件夹时,您将获得一个自动生成的文件,但是我们将删除该文件并创建自己的文件,您可以为该文件指定任何名称,但请记住您的文件名应包含“ api_provider_test.dart ”,例如api_provider_test.dart因为如果不要写,然后flutter将无法找到它作为测试文件。

Now you need to import a few Packages to complete all the tests.

现在,您需要导入一些软件包以完成所有测试。

import 'package:flutter_test/flutter_test.dart';import 'package:http/http.dart';import 'package:http/testing.dart';import 'dart:convert';

Here HTTP package is used to use tools to mock HTTP requests and the flutter_test provides methods for testing.

这里的HTTP包用于使用工具来模拟HTTP请求,而flutter_test提供了测试方法。

Now it’s time to create a method for tests in api_provider_test.dart

现在是时候在api_provider_test.dart创建测试方法了

import 'package:flutter_test/flutter_test.dart';import 'package:flutter_test/flutter_test.dart';import 'package:http/http.dart';import 'package:http/testing.dart';import 'dart:convert';import 'package:flutter_test_demo/src/resources/api_provider.dart';void main(){
test("Testing the network call", () async{
//setup the testfinal apiProvider = ApiProvider();
apiProvider.client = MockClient((request) async {final mapJson = {'id':1};return Response(json.encode(mapJson),200);
});final item = await apiProvider.fetchData();
expect(item.id, 1);
});
}

Here in the main() function we write the test method in which first we give a description of our test then we create the object of that api_provider class and by using its reference variable we will change the client() object into MockClient() actually MockClient is a package provided by ‘package:http/testing.dart’ which imitates an HTTP request instead of real request to the server as you can see in the above code.

main()函数中,我们编写了测试方法,其中首先给出测试描述,然后创建该api_provider类的对象,并使用其引用变量将client()对象实际上更改为MockClient() MockClient是'package:http/testing.dart'提供的一个程序包,它模仿对服务器的HTTP请求,而不是对服务器的实际请求,如您在上面的代码中看到的那样。

In HTTP calls we make requests and get responses and we have already defined requests here.

在HTTP调用中,我们发出请求并获取响应,并且我们已经在此处定义了请求。

apiProvider.client = MockClient((request) { });

apiProvider.client = MockClient((request) { });

And then we create response objects in this MockClient function

然后,我们在此MockClient函数中创建响应对象

final mapJson = {'id':1};return Response(json.encode(mapJson),200);

Here you can see the response object is returning the JSON object which is the body of the response and the second object is status code which is the success code of the response then we call the fetchData() which returns UserInfoModel object contains the Key ‘id’ and value “1” or not. Then in the expect method which is provided by test.dart package will compare the result we are expecting from fetchData() method.

在这里你可以看到响应对象返回JSON对象,它是响应和第二对象的身体状态码是响应的成功代码则称fetchData()返回UserInfoModel对象包含 “id '和 ‘1’的决定。 然后,在test.dart包提供的Expect方法中,将比较fetchData()方法所期望的结果。

Now let's check whether the test cases are passing or not by running this command in your terminal.

现在,通过在终端中运行此命令来检查测试用例是否通过。

flutter test test/api_provider_test.dart

Here api_provider_test.dart is your class name which you created for testing if your test cases pass the test you will get this response.

这里api_provider_test.dart是您创建的用于测试的类名,如果您的测试用例通过测试,您将得到此响应。

Image for post

So this was all about unit testing in Flutter. Stay tuned for more articles related to other testing types.

这就是Flutter中的单元测试。 请继续关注与其他测试类型有关的更多文章。

Thanks for reading this article.

感谢您阅读本文。

If you find it interesting Please Clap! and if you found anything wrong please let me know I would appreciate it for your contribution.

如果您觉得有趣,请拍手! 如果您发现任何错误,请告诉我,感谢您的贡献。

Connect with me on GitHub repositories.

GitHub仓库上与我联系。

Feel free to connect with usAnd read more articles from FlutterDevs.com

随时与10:12连接的文章FlutterDevs.com

FlutterDevs team of Flutter developers to build high-quality and functionally-rich apps. Hire flutter developer for your cross-platform Flutter mobile app project on an hourly or full-time basis as per your requirement! You can connect with us on Facebook, GitHub, and Twitter for any flutter related queries.

FlutterDevs的Flutter开发人员团队可构建高质量且功能丰富的应用程序。 根据您的要求,每小时或全时为您的跨平台Flutter移动应用程序项目雇用flutter开发人员 ! 您可以在Facebook , GitHub和Twitter上与我们联系,以获取与抖动相关的任何查询。

Image for post

翻译自: https://medium.com/flutterdevs/flutter-testing-lets-observe-544ec4347406

颤振稳定性叶瓣图


http://www.taodudu.cc/news/show-8479344.html

相关文章:

  • MacOS Catalina上的颤振安装
  • 颤振稳定性叶瓣图_使用块阵模式进行颤振场验证
  • 机械工程学报-封面研究-基于自适应变分模态分解与功率谱熵差的机器人铣削加工颤振类型辨识
  • 颤振稳定性叶瓣图_在屏幕之间导航—颤振
  • 使用人工智能自动测试颤振应用程序
  • 颤振稳定性叶瓣图_颤振异步redux graphql
  • matlab动力学共振颤振研究
  • 颤振稳定性叶瓣图_颤振主题系统
  • 颤振稳定性叶瓣图_颤振性能优化
  • 双路颤振频率Hz可设置比例阀放大器
  • 深度聚类paper汇总
  • paperwithcode
  • AAAI2021 accepted paper list
  • 使用Tex 撰写paper-TexStudio设置默认字体样式大小等
  • Raphael学习之Paper常用API(四)
  • 如何写paper
  • Paper:txyz_ai(一款帮助科研人员阅读PDF论文ChatGPT利器)的简介、安装、使用方法之详细攻略
  • 抑郁症康复日记
  • 计算机抑郁症与干涉相关的,抑郁症
  • matlab 自带的数据集fisheriris
  • 【文末福利】为什么我们要掌握Linux系统编程?
  • 什么是TCP的混合型自时钟
  • 炮打洋鬼子创作总结
  • oracle 过滤字段中的中文,不再洋不洋土不土
  • field list什么意思_闲话Python之range()到底是个什么玩意儿
  • AI全栈大模型工程师(二十二)什么是模型训练
  • 什么是mysql锁_简单理解MySQL锁
  • 什么是MAS : 一种目标管理工具和方法
  • 什么是接口API
  • python函数一般不能_Python程序中对一个函数的调用不能出现在该函数的定义之前...
  • 这篇关于颤振稳定性叶瓣图_颤振测试让我们观察的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/769266

    相关文章

    如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

    《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

    性能测试介绍

    性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

    字节面试 | 如何测试RocketMQ、RocketMQ?

    字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

    【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

    目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

    业务中14个需要进行A/B测试的时刻[信息图]

    在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

    Verybot之OpenCV应用一:安装与图像采集测试

    在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

    BIRT 报表的自动化测试

    来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

    可测试,可维护,可移植:上位机软件分层设计的重要性

    互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象

    多云架构下大模型训练的存储稳定性探索

    一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

    day45-测试平台搭建之前端vue学习-基础4

    目录 一、生命周期         1.1.概念         1.2.常用的生命周期钩子         1.3.关于销毁Vue实例         1.4.原理​编辑         1.5.代码 二、非单文件组件         2.1.组件         2.2.使用组件的三大步骤         2.3.注意点         2.4.关于VueComponen