2017-07-03 16 views
1

私は若い数学の先生で、私は学生にアルゴリズムを導入しています。 彼らはプログラムを書くためにCの基礎を学びます。 私は400人以上の学生がいて、プログラムをテストするのに多くの時間がかかります。 すでにシェルスクリプトを書いていますが、バイナリを私に送る必要があります。 私はバイナリやソースをアップロードしてテストできるプラットフォームを構築したいと考えています。 学校は私にJenkinsとWebインスタンスを渡しました。 JenkinsとJUnitについていくつかのドキュメントを読んだことがありましたが、別のプログラムの出力をどのようにテストすることはできません。バイナリ結果の比較

ご回答ありがとうございます。

答えて

1

JenkinsとJUnitを必ずしも使用する必要はありません。自分のノートパソコンやbashスクリプト以外のものは必要ありません。彼らはただ

まず

は、組織的にあなたの学生のコードを収集... Cプログラミングを行っている(メールでコードを送信したり、プラットフォームからそれらをダウンロードしてください)。次に、いくつかの入出力ファイル(明らかに正しい結果)を準備し、準備された入力を使って生徒のコードを実行する小さなスクリプトを作成します。スクリプトは最終的にあなたの準備された出力と結果を比較します。

物事を容易にするために、いくつかの注意事項は、学生が常に物事が自分の道を行うので:

  • は(旗、与えられたメイクファイル...)
  • が明らかになり、彼らは彼らのプログラムをコンパイルする必要がどのように正確に入力と出力形式
  • は、私は、彼らがマイナスポイントを得る私のガイドラインに従わない場合は、特定の方法(NAMEまたはIDを持つプログラムの名前)

に彼らのプログラムを与えるためにそれらを教えてください。これは非常に重要です。なぜなら、彼らは厳密になることを学ばなければならないし、同時にあなたはまたすばらしい時間を得るからです。彼らはあなたの校正プロセスを効率的にするために努力を払わなければなりません。

しかし、よくあなたにも(私はpersonnallyそれを使用しないが)、それはそれだけの価値があるかもしれないジェンキンスドキュメントで掘ることができます。そして、なぜあなたの学校にそれを手伝うように頼むことができないのですか?

編集:たぶんthis CMake/C++ Jenkins topicはあなたを助けるかもしれません。

+1

あなたの答えをありがとう。あなたのやり方は理にかなっているようです。私はジェンキンスでそれをやりたいと思っていました。そして私の学校の私を助けることができる唯一の人々は、休暇に入ったばかりです。 あなたが正しい学生については、決してルールに従っていません! – LightMan

+1

Jenkinsが複雑に見えないようにあなたを助けるかもしれないSOのトピックを追加しました – coincoin

関連する問題