본문 바로가기

전체 글

(41)
test_package.expect() 분석 0. 목표 Text.data 의 값이 'H' 인 Widget을 찾아 Widget Tree에 존재하는지 확인한다. void main(){ testWidgets('find a Text widget', (WidgetTester tester) async { await tester.pumpWidget(const MaterialApp( home: Scaffold( body: Text('H'), ), )); expect(find.text('H'), findsOneWidget); }); } expect(Finder, Matcher) expect(find.text('H'), findsOneWidget); 1. Finder Type Argument 설명 Finder find.text('H') Text나 EditableTe..
Flutter Widget Test 실습환경 - Mac OS Big Sur - Android Studio - Flutter 2.0.5 - Dart 2.12 Widget 테스팅 방법 소개 - widget 클래스를 테스트하기 위해서는 Flutter SDK 와 함께 제공되는 flutter_test 패키지가 필요하다. flutter_test package WidgetTester 프로그래밍적으로 Widget과 테스트 환경을 상호작용하는 클래스 testWidgets() 각 테스트 케이스를 위해 새로운 WidgetTester를 자동으로 생성하고, 일반 test() 함수 대신 사용된다. Finder 테스트 환경에서 widget을 찾을 때 사용하는 클래스 Matcher Widget별 Matcher 상수는 Finder가 테스트 환경에서 위젯을 찾는 지 여러..
try-with-resources 를 사용하자 0. 문제 상황 Read 버튼을 누르면 파일을 읽어 TextField에 표시하고, Delete를 누르면 파일을 삭제하는 간단한 Swing Application 이다. Read 버튼을 누르면 Scanner 객체를 이용해 파일을 읽는다. Delete 버튼은 File.delete() 메서드로 파일을 삭제한다. Read 버튼을 누르지 않고 Delete 버튼을 먼저 누르면, 파일은 문제없이 삭제된다. 그러나 Read 버튼으로 파일을 읽고 Delete 버튼을 누르면, 파일이 삭제되지 않은것을 확인할 수 있다. 혹시 프로세스에서 사용중이라 삭제가 안되나 싶어 Windows 탐색기에서 삭제를 시도하니 아래와 같은 경고창이 나왔다. 1. Scanner.close() Scanner 로 파일을 읽고, Resource(tes..