内容简介:如何确保在添加更多功能或更改现有功能时,应用程序继续正常工作?通过编写测试。单元测试可以方便地验证单个函数,方法或类的行为。此方法演示了
如何确保在添加更多功能或更改现有功能时,应用程序继续正常工作?通过编写测试。
单元测试可以方便地验证单个函数,方法或类的行为。 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单元测试
- 单元测试,只是测试吗?
- 单元测试和集成测试业务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C程序设计(第四版)
谭浩强 / 清华大学出版社 / 2010-6-1 / 33.00元
由谭浩强教授著、清华大学出版社出版的《C程序设计》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订。 《C程序设计(第4版)》按照C语言的新标准C99进行介绍,所有程序都符合C99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题―解决问题―归纳分析”三部曲......一起来看看 《C程序设计(第四版)》 这本书的介绍吧!