Procházet zdrojové kódy

测试桩件可为子服务留空

LD před 5 roky
rodič
revize
ae6ebf8849
1 změnil soubory, kde provedl 21 přidání a 18 odebrání
  1. 21 18
      app/Traits/TestMockSubServices.php

+ 21 - 18
app/Traits/TestMockSubServices.php

@@ -7,25 +7,28 @@ trait TestMockSubServices{
             $serviceDefinition['class'],
             array_keys($serviceDefinition['methods'])
         );
-        foreach ($serviceDefinition['methods'] as $mName=>$mVal){
-            $mockingService->method($mName)->willReturn($mVal);
-        }
+        if(isset($serviceDefinition['methods']))
+            foreach ($serviceDefinition['methods'] as $mName=>$mVal){
+                $mockingService->method($mName)->willReturn($mVal);
+            }
 
-        foreach ($serviceDefinition['subServices'] as $subService){
-            $mockingService->instant(
-                $subService['serviceName'],
-                ($subServiceMock=function()use($subService){
-                    $subServiceMock=$this->createPartialMock(
-                        $subService['class'],
-                        array_keys($subService['methods'])
-                    );
-                    foreach ($subService['methods'] as $methodName=>$methodVal){
-                        $subServiceMock->method($methodName)->willReturn($methodVal);
-                    }
-                    return $subServiceMock;
-                })()
-            );
-        }
+        if(isset($serviceDefinition['subServices']))
+            foreach ($serviceDefinition['subServices'] as $subService){
+                $mockingService->instant(
+                    $subService['serviceName'],
+                    ($subServiceMock=function()use($subService){
+                        $subServiceMock=$this->createPartialMock(
+                            $subService['class'],
+                            array_keys($subService['methods'])
+                        );
+                        if(isset($subService['methods']))
+                            foreach ($subService['methods'] as $methodName=>$methodVal){
+                                $subServiceMock->method($methodName)->willReturn($methodVal);
+                            }
+                        return $subServiceMock;
+                    })()
+                );
+            }
         return $mockingService;
     }