AtCoder Unit TestをPaiza用に改造してみた話

競技プログラミングをするにおいて大事なこと、それは事前の環境構築ですよね。

私はpaizaのスキルチェックをやったりしていますが、最近AtCoderを始めてみようかなぁと思いながら調べていたら、

AtCoderをする際にはAtCoder Unit Testという便利な拡張機能があることを知りました。

テストケースを簡単に試せるので便利ですよね。

ソースが公開されていましたので、練習もかねてAtCoderUnitTestのユニットテストをpaizaのスキルチェック用に書き換えてみました。

勝手にやっちゃダメとかだったらすみません。。そのときは記事消しますね。

AtCoder Unit Test
AtCoder の問題ページから、ユニットテストを生成するアドオン

AtCoderUnitTestの使い方

上記のサイトのAtCoderUnitTestの拡張機能をインストールします。

あとはAtCoderの問題ページで右クリックしてユニットテストを生成をクリックします。

これでクリップボードにコードがコピーされます。

エディタでペーストします。

対応している言語はJava, Kotlin, C#, Python3です。

私はここでちょっと迷ったのですが、対応言語を変える際には

拡張機能の管理→拡張機能のオプションから対応言語を変更します。

Paiza対応における変更点

Paiza用にunittestを変更するにあたって必要な変更は以下になります。

・manifest.jsonの名前、urlを変更。

・content.jsのクリック時イベントの処理を変更

・background.jsのurlを変更

・_locales/ja/message.jsonの内容を変更

manifest.json

manifest.jsonのnameとurlの部分を変更します。

urlはpaizaのスキルチェックの先頭urlをとってきていて、問題個別のurlの部分は*としてます。

これでpaizaのスキルチェックにてこの拡張機能が有効になります。

content.js

onClick関数の中身を以下のように書き換えました。

paizaのスキルチェックのソースを見てみたところ入出力の例はsample-contentクラスに属していましたので、contensとしてそれらを取得しています。

その後、入力と出力の値をとってきています。

background.js

urlの部分を変更します。

これでpaizaのスキルチェックページにて右クリックでコード生成のコマンドが追加されます。

拡張機能の追加

拡張機能を追加する際には「拡張機能を管理」から右上のデベロッパーモードをオンにして「パッケージ化されていない拡張機能を読み込む」を選択します。

書き換えたファイルが入っているフォルダを選択します。

拡張機能が追加されました。(警告が出てましたけど、修正しなくても動作したのでスルーしました。。)

これでpaizaのページにてユニットテストのコードを生成できるようになりました。

まとめ

ここまでお読みいただきありがとうございます。

今回はAtCoder用のユニットテスト生成拡張機能をpaizaに流用してみました。

paizaでもユニットテストができるのは便利ですし、なにより拡張機能やjavascriptの勉強になりました。

ありがとうございました。

コメント

タイトルとURLをコピーしました