Paiza Testerは、Paizaのようなプログラミング問題をローカルでテストするためのツールです。テストケースを用意し、それに対するプログラムの出力を確認することができます。
-
プロジェクトのルートディレクトリにある
src
ディレクトリに、テストしたいプログラムを配置します。現在対応している言語は以下の通りです。- JavaScript(
.js
) - PHP(
.php
) - Python(
.py
) - TypeScript(
.ts
)
ローカルに各言語の実行環境が事前にインストールされている必要があります。
- JavaScript(
-
tests
ディレクトリにテストケースを配置します。テストケースはテキストファイル(.txt
)で、入力例と出力例を含む形式で記述します。デフォルトでは、テストケースは実行ファイルと同じディレクトリの
tests
ディレクトリに配置します。paiza-tester/ | `-- src/ `-- D000/ |-- main.js # D000のテスト対象プログラム `-- tests/ |-- 1.txt # D000のテストケース1 `-- 2.txt # D000のテストケース2
テストケースが入っているディレクトリを指定することもできます。その場合は、以下のように
-t
,--test
オプションを使用します。<dir>
はテストケースが入っているディレクトリのパスです。npm start <file> -- --test <dir>
特定のテストケースだけを実行する場合は、以下のように
-c
,--case
オプションを使用します。<case>
は実行したいテストケースのファイル名です。npm start <file> -- --case <case>
-
テストを実行するには、以下のコマンドを実行します。
<file>
はテストしたいプログラムのパスです。npm start <file>
例えば、
./src/D000/main.js
をテストする場合は、以下のように実行します。npm start ./src/D000/main.js
テストの結果は、各テストケースごとに
PASS
またはFAIL
として表示されます。また、メモリ使用量と実行時間も表示されます。
paiza-tester/
|
|-- src/
| |-- D000/
| | |-- main.js # D000のテスト対象プログラム
| | `-- tests/
| | |-- 1.txt # D000のテストケース1
| | `-- 2.txt # D000のテストケース2
| |
| `-- C000/
| |-- main.js # C000のテスト対象プログラム
| `-- tests/
| |-- 1.txt # C000のテストケース1
| |-- 2.txt # C000のテストケース2
| `-- 3.txt # C000のテストケース3
|
|-- node_modules/ # npmによってインストールされる依存関係
| `-- (依存関係のディレクトリとファイル)
|
|-- package.json # npmプロジェクトの設定ファイル
|-- README.md # このREADMEファイル
`-- (その他のプロジェクトファイルやディレクトリ)
プログラムは標準入力から入力を受け取り、標準出力に結果を出力する形式で記述します。具体的な書き方は、./src/D000/main.js
を参照してください。
テストケースはテキストファイル(.txt
)で、以下の形式で記述します。
入力例
<入力データ>
出力例
<期待する出力>
具体的な書き方は、./src/D000/tests/
ディレクトリ内のテストケースファイルを参照してください。
依存関係のインストールにはnpmを使用します。以下のコマンドでインストールできます。
npm install
MIT
Hiroiku Inoue