-
Notifications
You must be signed in to change notification settings - Fork 9
/
OCSlimProject-iOS-Diagram.msd
85 lines (68 loc) · 2.01 KB
/
OCSlimProject-iOS-Diagram.msd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#//# --------------------------------------------------------------------------------------
#//# Created using Sequence Diagram for Mac
#//# https://www.macsequencediagram.com
#//# https://itunes.apple.com/gb/app/sequence-diagram/id1195426709?mt=12
#//# --------------------------------------------------------------------------------------
participant App as xcodebuild
participant "Acceptance Test Target" as atest
participant "unit test bundle" as utest
participant "generate-fitnesse-test-report.sh" as genfit
participant "LaunchFitnesse.sh" as lfit
participant FitNesse as Fit
participant RunTestsTargetWithSlimPort as slim
participant "ios-sim" as iossim
participant iphonesimulator as iPhone
*-> xcodebuild: Test
xcodebuild->atest: Build
xcodebuild->utest: Test
utest->genfit: Run Script
genfit->lfit: Test
activate lfit
lfit->lfit: check java installed
lfit->lfit: check fitnesse installed
opt [ first run ]
lfit->lfit: Copy FitNesseRoot
end
activate Fit
lfit->Fit: java -jar fitnesse.jar
Fit->Fit: Initialise
loop [ wait ]
lfit->Fit: "curl localhost:8080"
end #end loop
lfit->Fit: curl localhost/TestPageName?suite&format=junit
activate slim
fit->slim: Run
slim->slim: Check Node
slim->slim: Check ios-sim
slim->iossim: launch
loop [ wait ]
note over slim
"""
Could hang! 💥
"""
end note
iossim->iPhone: Acceptance Test App Install
iPhone->atest: Launch
atest->atest: Start Slimserver
slim->slim: Wait for app launch
Fit->atest: Slimserver Detected | Run Suite
atest->Fit: Do Work
Fit-> atest: Terminate
slim->slim: Wait for app terminated
end
deactivate slim
fit->lfit: junit xml
lfit->utest: write junit xml
alt [ suite test runtime error ]
fit->fit: write error log file
end
lfit->Fit: terminate
deactivate Fit
deactivate lfit
alt [ test report junit file exists ]
utest->utest: parse junit to xctest suite
utest->utest: run xctestsuite reporting pass / fails
utest->xcodebuild: Pass / Fail
else [test report missing or not junit xml]
utest->xcodebuild: throw exception
end