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

在JUnit-tets中@autoweld的用法

谈炳
2023-03-14

我在单元测试中使用SpringJUnit4ClassRunner,测试可以正确地访问自动连线bean(模拟服务)。

它如何测试也与服务对话的作业。作业还自动连接bean。

不幸的是,在测试中的“newjob().execute(…)”调用中,作业中的自动连接服务为null。

有人能建议/猜测出了什么问题吗!?

共有1个答案

孟栋
2023-03-14

不是由Spring创建和管理的实例不会被Spring注入它们的依赖项(除非您应用了一些AspectJ魔术)。

由于作业实例是由应用程序创建的,因此必须手动注入其依赖项。只需在测试类中设置mock,或自动连接Job所需的bean,并将它们传递给新创建的实例。

 类似资料:
  • 我正在努力让junit在我的Spark shell中工作。 当试图从junit导入Assert时,出现以下错误消息: 有办法解决这个问题吗?知道如何从scala shell下载org.junit吗? 编辑:按照zsxwing的建议,我使用了spark-shell-packages JUnit:JUnit:4.12,输出如下: 但是,在尝试导入org.junit.Assert._时仍然面临同样的问题

  • 我正在使用和构建一个简单的rest API。生产应用程序应该使用redis-session实现,而测试应该使用默认的(非Redis)Spring-Session。 但是,当在项目中声明maven依赖项时,spring-boot将自动创建,而在测试配置中没有注释。 我的设置 申请代码: 测试:

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

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

  • 问题内容: 我在junit测试代码中的Java中收到此错误。我在网上查了一下,它说我需要在类路径中添加junit.jar。 在Eclipse中,我已将其添加到“项目属性”窗口的类路径中,但仍然收到初始化错误。我该怎么办..? 这是错误的完整记录: 问题答案: 在Package Explorer中右键单击您的项目>单击Properties 转到Java Build Path> Libraries选项

  • 我正在使用Eclipse中的 JUnit5位于modul-path上,并且在module-info.Java中是必需的。 当我尝试运行代码时,总是会收到以下消息: 初始化引导层java.lang.module.findException时出错:无法为C:\users\tim hp.p2\pool\plugins\org.junit.jupiter.migrationsupport_5.0.0.v2