0

这是我的场景:我正在创建一个插件,让我的学生通过 SBT(不同的主题)将他们的代码提交到我的自定义 CI 服务器之一,我希望能够包含与每个项目一起用于评分的测试用例(例如,JUnit 或 ScalaUnit 测试)。最好,我希望编译这些测试用例,并且我希望学生能够使用类似于sbt test.

两个问题(也许还有更多):

  1. 实现这一目标的最简单方法是什么?
  2. 实现这一点的安全方法是什么?

现在,我正在考虑在每个包含测试用例子集的分配中包含一个 JAR 文件。我可以编写一个插件来分叉 JVM 并执行测试用例并报告结果。这导致以下问题:

  1. 设置我自己的 Maven/Ivy 存储库和分配测试用例并让插件在每个分配的基础上包含它们会更好吗?
  2. SBT 可以在我不必编写插件的情况下做到这一点吗?

谢谢!

4

1 回答 1

1

与EPFL的 Martin Odersky 为 Scala 中的函数式编程原则做了非常相似的事情。他们使用了两组测试,一组与代码一起发布,学生可以在编码时运行(使用sbt test),另一组在服务器上运行,在发布代码时运行。第二个(服务器)是生成报告并给出评分的那个。这是使用 coursera 网站反馈的,但您始终可以发送邮件或其他内容。服务器不是同步完成的,它是作为批处理的一部分完成的。

该代码还使用Scalastyle根据各种样式点进行分级。

不要将你的成绩建立在学生机器上执行的代码上。这不安全。

是的,你可以在不使用插件的情况下做到这一点,你只需将代码直接包含在你的 Build.scala 中。这可能是最简单的方法。

于 2013-07-09T05:31:01.333 回答