内容简介:如何确保在添加更多功能或更改现有功能时,应用程序继续正常工作?通过编写测试。单元测试可以方便地验证单个函数,方法或类的行为。此方法演示了
如何确保在添加更多功能或更改现有功能时,应用程序继续正常工作?通过编写测试。
单元测试可以方便地验证单个函数,方法或类的行为。 test 包提供了编写单元测试的核心框架, flutter_test 包提供了用于测试Widgets的其他实用工具。
此方法演示了 test
包提供的核心功能。有关test包的更多信息,请参阅 test包文档
。
路线
1.添加test或flutter_test依赖项
2.创建一个测试文件
3.创建一个要测试的类
4.为我们的类写一个测试
5.在一个组中组合多个测试
6.运行测试
1. 添加测试依赖
如果您正在处理不依赖于Flutter的Dart包,则可以导入测试包。测试包提供了在Dart中编写测试的核心功能。在编写将由Web,服务器和Flutter应用程序使用的包时,这是最好的方法。
dev_dependencies: test: <latest_version>
2.创建一个测试文件
在此示例中,创建两个文件: counter.dart
和 counter_test.dart
。
counter.dart
文件将包含您要测试的类,并归属于lib文件夹。 counter_test.dart
文件将包含多个测试并存在于 test
文件夹中。
通常,测试文件应该归属于于Flutter应用程序或程序包根目录的test文件夹中。
完成后,文件夹结构应如下所示:
counter_app/
lib/
counter.dart
test/
counter_test.dart
3. 创建一个类来对它进行测试
接下来,您需要一个“单位”来测试。请记住:“unit”是函数,方法或类的设想名称。在此示例中,在lib/counter.dart文件中创建Counter类。它将负责递增和递减从0开始的值。
class Counter {
int value = 0;
void increment() => value++;
void decrement() => value--;
}
注意:为简单起见,本教程不遵循“测试驱动开发”方法。如果你对这种开发方式更加满意,你可以随时走这条路。
4. 为我们的类写一个测试
在counter_test.dart文件中,编写第一个单元测试。测试是由顶级测试功能定义的,您可以使用顶级expect功能检查结果是否正确。这两个功能都来自 test
包。
// Import the test package and Counter class
import 'package:test/test.dart';
import 'package:counter_app/counter.dart';
void main() {
test('Counter value should be incremented', () {
final counter = Counter();
counter.increment();
expect(counter.value, 1);
});
}
5. 在一个组中组合多个测试
如果您有多个彼此相关的测试,请使用 test
包提供的组功能将它们组合在一起。
import 'package:test/test.dart';
import 'package:counter_app/counter.dart';
void main() {
group('Counter', () {
test('value should start at 0', () {
expect(Counter().value, 0);
});
test('value should be incremented', () {
final counter = Counter();
counter.increment();
expect(counter.value, 1);
});
test('value should be decremented', () {
final counter = Counter();
counter.decrement();
expect(counter.value, -1);
});
});
}
6.运行测试
现在Counter类和test已经就位了,你可以运行测试了。
使用IntelliJ或VSCode运行测试
IntelliJ和VSCode的Flutter插件支持运行测试。这通常是编写测试时的最佳选择,因为它提供了最快的反馈循环以及设置断点的能力。
- IntelliJ
counter_test.dart Run Run'test in counter_test.dart'
-
VSCode
counter_test.dart Debug start Debugging
在终端中运行测试
您还可以使用终端通过从项目的根目录执行以下命令来运行测试:
flutter test test/counter_test.dart
以上所述就是小编给大家介绍的《(译)单元测试介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Vue 应用单元测试的策略与实践 02 - 单元测试基础
- Vue 应用单元测试的策略与实践 04 - Vuex 单元测试
- Vue 应用单元测试的策略与实践 03 - Vue 组件单元测试
- Angular单元测试系列-Component、Directive、Pipe 以及Service单元测试
- 单元测试,只是测试吗?
- 单元测试和集成测试业务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
并行算法的设计与分析
陈国良 / 2009-8 / 66.00元
第3版在修订版的基础上进行了大幅度的修订,新增加3章、重写3章,改写8章。《普通高等教育十一五国家级规划教材·并行算法的设计与分析(第3版)》系统深入地讨论了计算机领域中诸多计算问题的并行算法的设计和分析方法。在着重介绍各种并行计算模型上的常用和典型的并行算法的同时,也力图反映本学科的最新成就、学科前沿和发展趋势。 全书共分二十章,包括基础篇4章(绪论、设计技术、前缀计算、排序和选择网络),......一起来看看 《并行算法的设计与分析》 这本书的介绍吧!