Committed by
GitHub
Merge pull request #1987 from dumbokim/patch-1
update Tests and Tips of README.ko-kr
Showing
1 changed file
with
68 additions
and
1 deletions
| @@ -328,7 +328,7 @@ Text(controller.textFromApi); | @@ -328,7 +328,7 @@ Text(controller.textFromApi); | ||
| 328 | 328 | ||
| 329 | ### 종속성 관리에 대한 자세한 내용 | 329 | ### 종속성 관리에 대한 자세한 내용 | 
| 330 | 330 | ||
| 331 | -**종속성 관리에 대한 더 제사한 사항은 [여기](./documentation/kr_KO/dependency_management.md)에 있습니다.** | 331 | +**종속성 관리에 대한 더 자세한 사항은 [여기](./documentation/kr_KO/dependency_management.md)에 있습니다.** | 
| 332 | 332 | ||
| 333 | # 기능들 | 333 | # 기능들 | 
| 334 | 334 | ||
| @@ -1092,6 +1092,73 @@ class SettingsService extends GetxService { | @@ -1092,6 +1092,73 @@ class SettingsService extends GetxService { | ||
| 1092 | 따라서 앱 실행중 절대로 유지되어야 하는 클래스 인스턴스가 필요하면 | 1092 | 따라서 앱 실행중 절대로 유지되어야 하는 클래스 인스턴스가 필요하면 | 
| 1093 | `GetxService`를 사용하세요. | 1093 | `GetxService`를 사용하세요. | 
| 1094 | 1094 | ||
| 1095 | +### 테스트 | ||
| 1096 | + | ||
| 1097 | +당신은 당신의 컨트롤러들을 생성주기를 포함하여 다른 어떤 클래스처럼 테스트할 수 있습니다 : | ||
| 1098 | + | ||
| 1099 | +```dart | ||
| 1100 | +class Controller extends GetxController { | ||
| 1101 | + @override | ||
| 1102 | + void onInit() { | ||
| 1103 | + super.onInit(); | ||
| 1104 | + //name2로 값 변경 | ||
| 1105 | + name.value = 'name2'; | ||
| 1106 | + } | ||
| 1107 | + | ||
| 1108 | + @override | ||
| 1109 | + void onClose() { | ||
| 1110 | + name.value = ''; | ||
| 1111 | + super.onClose(); | ||
| 1112 | + } | ||
| 1113 | + | ||
| 1114 | + final name = 'name1'.obs; | ||
| 1115 | + | ||
| 1116 | + void changeName() => name.value = 'name3'; | ||
| 1117 | +} | ||
| 1118 | + | ||
| 1119 | +void main() { | ||
| 1120 | + test(''' | ||
| 1121 | +Test the state of the reactive variable "name" across all of its lifecycles''', | ||
| 1122 | + () { | ||
| 1123 | + /// 당신은 생성주기를 제외하고 컨트롤러를 테스트할 수 있습니다, | ||
| 1124 | + /// 그러나 당신이 사용하지 않는다면 추천되지 않습니다 | ||
| 1125 | + /// GetX 종속성 주입 | ||
| 1126 | + final controller = Controller(); | ||
| 1127 | + expect(controller.name.value, 'name1'); | ||
| 1128 | + | ||
| 1129 | + /// 당신이 그것을 사용한다면, 당신은 모든 것을 테스트할 수 있습니다, | ||
| 1130 | + /// 각각의 생성주기 이후 어플리케이션의 상태를 포함하여. | ||
| 1131 | + Get.put(controller); // onInit was called | ||
| 1132 | + expect(controller.name.value, 'name2'); | ||
| 1133 | + | ||
| 1134 | + /// 당신의 함수를 테스트하세요 | ||
| 1135 | + controller.changeName(); | ||
| 1136 | + expect(controller.name.value, 'name3'); | ||
| 1137 | + | ||
| 1138 | + /// onClose 호출됨 | ||
| 1139 | + Get.delete<Controller>(); | ||
| 1140 | + | ||
| 1141 | + expect(controller.name.value, ''); | ||
| 1142 | + }); | ||
| 1143 | +} | ||
| 1144 | +``` | ||
| 1145 | + | ||
| 1146 | +#### 팁들 | ||
| 1147 | + | ||
| 1148 | +##### Mockito 또는 mocktail | ||
| 1149 | +당신이 당신의 GetxController/GetxService를 모킹하려고 한다면, 당신은 GetxController를 extend 하고, Mock과 mixin 하라, 그렇게 되면 | ||
| 1150 | + | ||
| 1151 | +```dart | ||
| 1152 | +class NotificationServiceMock extends GetxService with Mock implements NotificationService {} | ||
| 1153 | +``` | ||
| 1154 | + | ||
| 1155 | +##### Get.reset() 사용하기 | ||
| 1156 | +당신이 위젯 또는 테스트 그룹을 테스트하고 있다면, 당신의 테스트의 마지막 또는 해제 때 당신의 이전 테스트에서 모든 설정을 리셋하기 위해 Get.rest을 사용하십시오 | ||
| 1157 | + | ||
| 1158 | +##### Get.testMode | ||
| 1159 | +당신이 당신의 컨트롤러에서 당신의 네비게이션을 사용하고 있다면, 당신의 메인의 시작에 `Get.testMode = true` 를 사용하십시오. | ||
| 1160 | + | ||
| 1161 | + | ||
| 1095 | # 2.0의 주요 변경점 | 1162 | # 2.0의 주요 변경점 | 
| 1096 | 1163 | ||
| 1097 | 1- Rx 타입들: | 1164 | 1- Rx 타입들: | 
- 
Please register or login to post a comment