Skip to content

hsptestの実行方法

mass0910 edited this page Sep 24, 2023 · 1 revision

コマンドライン凡例

hsptestを実行するには、以下のようにコマンドを実行します。

hsptest [options] [path...]
  • hsptestは引数無しで実行すると、カレントディレクトリに含まれるテストスクリプトを実行します。

  • [path...]にディレクトリを与えると、そのディレクトリに含まれるテストスクリプトを実行します。

  • [path...]にテストスクリプトファイルを与えると、そのテストスクリプトのみを実行します。

  • ディレクトリ、テストスクリプトは複数与えることができます。

オプション一覧

オプション 説明
-v, --verbose テスト結果ごとに結果を出力します
-s, --stdout テスト実行中にHSPランタイムから出力された文字列を表示します
-l, --logfile LOGFILEで指定したファイルにテストログを出力します
-r, --runtime テストを実行するデフォルトのランタイム名を指定します。ランタイム名はランタイム実行ファイルから.exeを除いたものです(例:hsp3, hsp3utf, hsp3clなど)
--stop テストが全て終了したときにストップします(hsptestをHSPエディタの外部ツールとして実行するときにコンソールが閉じないので便利です)
--openlog hsptestが終了したときにHSPスクリプトエディタでログを開きます
-h, --help ヘルプを表示します
--version hsptestのバージョン情報を表示します

テスト結果を詳細表示する(-v)

hsptestのテスト結果をテストごとに出力するには-v(--verbose)オプションを付けます。

hsptest -v
hsptest --verbose

以下のように、テストごとにその結果が表示されます。
テストが失敗したときは、その原因を表示します。

> hsptest -v
================================== test session starts ===================================
HSP 3.6.0.7, hsptest 0.8
collected 3 tests

test_example.hsp::test1: PASSED                                                     [ 33%]
test_example.hsp::test2: PASSED                                                     [ 66%]
test_example.hsp::test3: FAILED at line 4 of ext.as: Divided by zero                [100%]

========================== 1 failed, 2 passed in 0.14 seconds ============================

標準出力をキャプチャする(-s)

テスト中に標準出力から出力されたデータをキャプチャし表示するには-s(--stdout)オプションを付けます。

hsptest -s
hsptest --stdout

以下のように、テストごとの標準出力のキャプチャ結果が表示されます。

hsptest -s
================================== test session starts ===================================
HSP 3.6.0.7, hsptest 0.8
collected 3 tests

test_example.hsp ..F                                                                [100%]
-------------------- Captured stdout call in test_example.hsp::test2 ---------------------
sess

-------------------- Captured stdout call in test_example.hsp::test3 ---------------------
example
output
2

------------------------------------------------------------------------------------------

========================== 1 failed, 2 passed in 0.15 seconds ============================

ログファイルを出力する(-l)

テスト結果をログファイルとして出力するには-l(--logfile)オプションを付けます。
オプションの引数としてファイル名、またはファイルへのパスを与えてください。

hsptest -l result.txt
hsptest --logfile result.txt

テスト結果のログには以下のデータが含まれます

  • HSP3のバージョン、hsptestのバージョン
  • テストを行ったディレクトリ
  • 成功したテスト、失敗したテストの数
  • 失敗したテストの詳細
    • テストが失敗した原因のソースコード行
    • テスト失敗の理由
    • テスト失敗時のコールスタック
  • テストごとにキャプチャした標準出力

--openlogオプションを指定すると、hsptestが終了したときにHSPスクリプトエディタでログファイルを開くことができます。

hsptest -l result.txt --openlog

テストを実行するランタイムを指定する(-r)

テストはデフォルトでhsp3cl.exeをランタイムとして実行されます。
hsp3cl.exe以外のランタイムでテストを実行する場合は-r(--runtime)オプションを付けます。
オプションの引数としてランタイム名(ランタイム実行ファイルから.exeを取り除いたもの)を与えてください。

hsptest -r hsp3              #hsp3.exeをランタイムとする
hsptest --runtime hsp3utf    #hsp3utf.exeをランタイムとする

ℹ️ ランタイムをテストスクリプトのアノテーションで指定している場合は、アノテーションのランタイム指定が優先されます。