Skip to content

paiza のスキルチェックの問題を解くための支援ツール

Notifications You must be signed in to change notification settings

hiroiku/paiza-tester

Repository files navigation

Paiza Tester

Paiza Testerは、Paizaのようなプログラミング問題をローカルでテストするためのツールです。テストケースを用意し、それに対するプログラムの出力を確認することができます。

使い方

  1. プロジェクトのルートディレクトリにあるsrcディレクトリに、テストしたいプログラムを配置します。現在対応している言語は以下の通りです。

    • JavaScript(.js)
    • PHP(.php)
    • Python(.py)
    • TypeScript(.ts)

    ローカルに各言語の実行環境が事前にインストールされている必要があります。

  2. 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>
  3. テストを実行するには、以下のコマンドを実行します。

    <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

About

paiza のスキルチェックの問題を解くための支援ツール

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published