Ver0.3で追加したものに関しての説明。
Unit Test、Connect IQでは「Run No Evil」と呼ばれているものの実行。
using namespace AutomationConnectIQ.Lib;
$sdk = New-Object GarminSDK -Property @{
Key = "developer_key"
}
$proj = New-Object Jungle("monkey.jungle")
$sim = New-Object Simulator($sdk)
$sim.WaitForInput()
$deviceName = "fr45"
# UnitTestを実行(GarminSDKのメソッドを使う)
$sdk.BuildProgram($proj, $deviceName, $proj.DefaultProgramPath, $true)
$sdk.StartProgram($proj.DefaultProgramPath, $deviceName, $true)
remove-variable sdk
remove-variable proj
Remove-Variable deviceName
$check = New-Object Checker -Property @{
Key = "developer_key"
Project = "monkey.jungle"
}
# UnitTestを実行(Checkerのメソッドを使う)
$check.UnitTest($check.Devices[0])
remove-variable check
- 12~13行目:GarminSDKのメソッドを使ったもの
BuildProgram、StartProgramのプログラム名付のメソッドの最終引数が、Unit Test用かどうかの指定になっている。
デフォルト引数にfalseを指定しているので、最終引数を省略した場合は通常プログラムのビルドとシミュレーターでの起動になる。 - 24行目:新たにChecker.UnitTestメソッドを追加。
デバイス名を入れることで、そのデバイスでのUnit Testを実施できるようにしている。
同時に、Checker.Devices属性を用意し、プロジェクトで実行可能なデバイス名の情報を取り出せるようにしてある。
これは、Jungle.Devicesと同じ出力結果が得られる。
Eclipse側では、デフォルトは全デバイスに対してUnit Testをする設定になっているが、その必要があるのか?と思い、デバイス指定のメソッドにしている。
必要があれば、Checker.DevicesをForeachで回せばいいと考えている。
実行した結果は、こんな感じになる。
エクリプス側は、PASS/FAILに色がついて表示されるが、テキスト出力されたものなので、PowerShellで実行したものに関しては、色が付かない。
コメント