翻譯首頁html
你如何確保你的應用程序在添加更多功能或更改現有功能時能繼續正常工做?答案是寫測試。git
單元測試能夠很容易的測試單個函數、方法、或者類。這個 test 包提供了寫單元測試的核心框架,而後這個 flutter_test 包額外提供了更多測試Widget的實用工具。github
這個目錄演示了 test 包提供的核心功能,關於test包的更多信息請查看這裏。api
test
或 flutter_test
依賴group
來結合多個測試test
或 flutter_test
依賴若是你僅僅使用Dart包的代碼而不依賴Flutter,你能夠僅僅導入 test 包。這個 test 包提供了在Dart裏寫單元測試的核心功能。這是編寫Web、服務器和Flutter應用程序的單元測試的最佳方法。bash
dev_dependencies:
test: <latest_version>
複製代碼
在這個例子裏,建立2個文件: counter.dart
和 counter_test.dart
.服務器
這個 counter.dart
文件將會包含一個你想要測試的類,放到 lib 文件夾下面。這個 counter_test.dart
文件將會包含測試自己而且放到 test 文件夾下。架構
通常來講,test 文件應該保存在 test 文件夾下面,而test 文件夾位置在你的Flutter應用程序或者包的根目錄。app
當你作完這些之後,這個文件夾架構應該像下面這樣:框架
counter_app/
lib/
counter.dart
test/
counter_test.dart
複製代碼
下一步,你須要一個「單元」用來測試,記住,「單元」的意思是一個函數、方法或者類的代稱,在這個例子裏,在 lib/counter.dart
裏建立一個Counter類,它將負責給一個初始爲0的值增長值或減少值。函數
class Counter {
int value = 0;
void increment() => value++;
void decrement() => value--;
}
複製代碼
**注意:**爲了簡單起見,本教程沒有遵循「測試驅動開發」的方式。若是你更喜歡「測試驅動開發」的方式你也可使用。
在這個 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();
//若是counter.value的值等於1則測試經過
expect(counter.value, 1);
});
}
複製代碼
group
來結合多個測試若是你有幾個函數彼此相關,你可使用 test
包的 group 函數。
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);
});
});
}
複製代碼
如今你有了一個 Counter
類的單元測試,你如今能夠運行這個測試了。
IntelliJ和VSCode的Flutter插件支持運行單元測試。 這一般是編寫測試時的最佳選擇,由於它提供了最快的反饋循環以及設置斷點的能力。
IntelliJ 1. 打開 counter_test.dart
文件 2. 選擇 Run
菜單 3. 點擊 Run 'tests in counter_test.dart'
選項 4. 或者,爲您的平臺使用適當的鍵盤快捷方式。
VSCode 1. 打開 counter_test.dart
文件 2. 選擇 Debug
菜單 3. 點擊 Start Debugging
選項 4. 或者,爲您的平臺使用適當的鍵盤快捷方式。
你也能夠在項目的根目錄使用下面的命令在終端運行測試:
flutter test test/counter_test.dart
複製代碼