二进制结果比较

时间:2017-07-03 16:12:43

标签: jenkins junit

我是一名年轻的数学老师,我正在向学生介绍算法。 他们学习C语言来编写程序。 我有400多名学生,测试他们的课程花了我很多时间。 已经编写了一个shell脚本,但他们需要发送二进制文件。 所以我想建立一个平台,他们可以上传他们的二进制文件或他们的来源并测试它。 学校给了我一个詹金斯和一个网络实例。 我确实读过一些关于Jenkins和JUnit的文档,但我看不出如何测试另一个程序的输出。

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

您不必必须使用Jenkins和JUnit。除了自己的笔记本电脑和bash脚本之外,您不需要任何其他内容。他们只是做C编程......

首先,以有条理的方式收集学生代码(通过邮件发送代码或从平台下载代码)。然后,准备一些输入和输出文件(显然会更正结果)并编写一个小脚本,用这些准备好的输入执行学生代码。该脚本最终将结果与您准备的输出进行比较。

一些注意事项可以让事情变得更容易,因为学生总是以自己的方式做事:

  • 准确地说明他们如何编译程序(标志,给定makefile ......)
  • 明确输入和输出格式
  • 我告诉他们以特定的方式(带有NAME或ID的节目名称)提供他们的节目

如果他们不遵循我的指导方针,他们会得到减分。这非常重要,因为他们必须学会严谨,同时你也要获得巨大的时间。他们必须努力使你的校正过程高效,特别是当你有这么多学生时。

但是你也可以在詹金斯博士中挖掘它可能是值得的(尽管我不是个人使用它)。为什么不能让你的学校帮助你?

编辑:也许this CMake/C++ Jenkins topic可能对您有帮助。