【问题标题】:Can SBT execute compiled tests with `sbt test` or similar?SBT 可以使用 `sbt test` 或类似方法执行编译测试吗?
【发布时间】:2013-07-09 03:27:36
【问题描述】:

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

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

  1. 最简单的方法是什么?
  2. 什么是安全的实现方式?

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

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

谢谢!

【问题讨论】:

    标签: java scala sbt xsbt


    【解决方案1】:

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

    代码还使用Scalastyle根据各种风格点进行分级。

    不要根据学生机器上执行的代码来评分。这不安全。

    是的,您可以在不使用插件的情况下执行此操作,您只需将代码直接包含在您的 Build.scala 中。这可能是最简单的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 2017-10-09
      • 2017-01-25
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多