当前位置: 首页 > 知识库问答 >
问题:

Junit在Spark shell中的使用

湛宏旷
2023-03-14

我正在努力让junit在我的Spark shell中工作。

当试图从junit导入Assert时,出现以下错误消息:

scala> import org.junit.Assert._
<console>:23: error: object junit is not a member of package org
       import org.junit.Assert._

有办法解决这个问题吗?知道如何从scala shell下载org.junit吗?

编辑:按照zsxwing的建议,我使用了spark-shell-packages JUnit:JUnit:4.12,输出如下:

C:\spark>spark-shell --packages junit:junit:4.12
Ivy Default Cache set to: C:\xxx\.ivy2\cache
The jars for the packages stored in: C:\xxxx\.ivy2\jars
:: loading settings :: url = jar:file:/C:/spark/jars/ivy-2.4.0.jar!/org/apache/i
vy/core/settings/ivysettings.xml
junit#junit added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
        confs: [default]
        found junit#junit;4.12 in central
        found org.hamcrest#hamcrest-core;1.3 in central
:: resolution report :: resolve 365ms :: artifacts dl 7ms
        :: modules in use:
        junit#junit;4.12 from central in [default]
        org.hamcrest#hamcrest-core;1.3 from central in [default]
        ---------------------------------------------------------------------
        |                  |            modules            ||   artifacts   |
        |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
        ---------------------------------------------------------------------
        |      default     |   2   |   0   |   0   |   0   ||   2   |   0   |
        ---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent
        confs: [default]
        0 artifacts copied, 2 already retrieved (0kB/20ms)
Setting default log level to "WARN".
Spark context Web UI available at http://xxxxx
Spark context available as 'sc' (master = local[*], app id = local-xxx
).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.0.0
      /_/

但是,在尝试导入org.junit.Assert._时仍然面临同样的问题

共有1个答案

陈成济
2023-03-14

JUnit是一个测试依赖项,它不包含在Spark shell的类路径中。您可以使用< code> - packages参数添加任何依赖项,例如,

bin/spark-shell --packages junit:junit:4.12
 类似资料:
  • Junit5引入了@BeforeAll来表示应在当前测试类中的所有测试之前执行带注释的方法。但是它要求方法是静态的。 我的 Scala 测试套件中有以下结构: 以及其他测试类别: 所以我希望< code > codeNeedeForAllTests 在所有测试之前被调用,但是问题是< code>@BeforeAll要求方法是静态的,为此我需要将codeNeedeForAllTests作为对象,以便

  • 我想将我的Gradle项目测试从JUnit 4转换为JUnit 5。由于有很多测试,我不想同时转换它们。 我尝试配置我的构建。gradle如下: 旧的测试仍在运行,但Intellij没有识别出新的JUnit 5测试,如下所示: 我正在使用Intellij 2016.2和gradle 2.9

  • 问题内容: 在jUnit的调试模式下,是否有办法使Eclipse在未捕获的异常上中断?执行main()时,Eclipse正常运行。我可以使用命令行开关吗? 谢谢 问题答案: 如果在jUnit中调试单个方法,则断点开始工作。如果在jUnit中调试了整个类或程序包,则调试器将不起作用。

  • 我在单元测试中使用SpringJUnit4ClassRunner,测试可以正确地访问自动连线bean(模拟服务)。 它如何测试也与服务对话的作业。作业还自动连接bean。 不幸的是,在测试中的“newjob().execute(…)”调用中,作业中的自动连接服务为null。 有人能建议/猜测出了什么问题吗!?

  • 问题内容: 我曾经使用过JUnit和Mocks,但我想知道,JUnit中的Mocks和Stub之间有什么区别,以及如何在JUnit,Java中使用Stub?作为具有EasyMock,Mockito等的Mocks,Stubs在Java中使用什么? 请提供Java中的存根示例代码。 问题答案: 要在junit中使用存根,您不需要任何框架。 如果您想存根某些接口,只需实现它: 然后创建一个新的存根对象并

  • 我想问一下你的知识。一个Spring启动应用程序包含各种映射器。这些应该进行测试。要测试映射器,应该读取一个JSON文件。这个JSON文件加载在每个测试文件中。到目前为止,该功能已在每个测试类中实现,我想将功能外包给一个助手类。我尝试如下: 在测试类中,我调用助手如下: 很遗憾,我收到以下错误消息: 组织。springframework。豆。工厂UnsatifiedDependencyExcept