iT邦幫忙

2022 iThome 鐵人賽

DAY 15
1
Mobile Development

通徹 Flutter 學習路徑系列 第 15

通徹 Flutter 學習路徑 Day 15 - 今天來談談介面測試這件事

  • 分享至 

  • xImage
  •  

今天想向大家分享的是有關 Flutter 進行單元測試及整合測試的部分
我們實作完畫面呈現後相信會對自己的畫面再進行一次完整的測試吧
那在 Flutter 中是如何去實作的呢?
我們今天主要要來探討的便是這個 ~


首先先檢查 pubspec.yaml 是否有使用 test

dev_dependencies:
  test: <latest_version>

而擺放程式碼的方式官方給的範例為

counter_app/
  lib/
    counter.dart
  test/
    counter_test.dart

而測試檔案的命名傳統會是以 _test.dart 來當作結尾


首先是要測試的程式碼

class Counter {
  int value = 0;

  void increment() => value++;

  void decrement() => value--;
}

實作測試用的程式碼
而在這邊所使用的 Assert 函式為 expect

// Import the test package and Counter class
import 'package:counter_app/counter.dart';
import 'package:test/test.dart';

void main() {
  test('Counter value should be incremented', () {
    final counter = Counter();

    counter.increment();

    expect(counter.value, 1);
  });
}

而這邊則透過 group 將各段測試給組合起來

import 'package:counter_app/counter.dart';
import 'package:test/test.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);
    });
  });
}

而如果要進行測試的話
可透過以下指令來測試

flutter test test/counter_test.dart

透過撰寫測試可以有效的提高程式的可靠性
因此如果在專案過程中如果行有餘力的話
撰寫測試程式碼會讓自己未來檢視時或進行程式碼重構時輕鬆一點

至於單元測試的心法及整合測試的必要
可以參考網路上大量文章
因此在此就不多加冗述了 ~

參考資料

強而有力的官網後盾


上一篇
通徹 Flutter 學習路徑 Day 14 - 今天來談談取得靜態資源這件事
下一篇
通徹 Flutter 學習路徑 Day 16 - 今天來談談 Splash Screen
系列文
通徹 Flutter 學習路徑30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言