当我测试我的Spring boot服务时,我不知道如何注入一个@Autowired bean。
My bean(Spring填充@Value fromapplication.yml):
@Component
public class NavigatorProperties {
@Value("${timerDelay}")
private String timerDelay;
public String getTimerDelay() {
return timerDelay;
}
public void setTimerDelay(String timerDelay) {
this.timerDelay = timerDelay;
}
}
我的 api:
public class ListenerApi implements IRestListenerApi {
@Autowired
private NavigatorProperties np;
public String doSomething (...) { // This is my service method.
// Here np.getTimerDelay() will return application.yml value.
int timerDelay = Integer.decode(np.getTimerDelay());
...
}
}
这很好,int值是正确的。这是我的测试:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {ListenerApiTest.class, NavigatorProperties.class})
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ListenerApiTest {
@Autowired
private NavigatorProperties np; // Can be autowired or a new Object.
// Object to test.
private ListenerApi listenerApi;
@Test
public void test01ForceNumberFormatException() {
np.setTimerDelay("NumberFormatException");
// Inyect into ListenerApi
}
@Test
public void test02ForceNullPointerException() {
np.setTimerDelay(null);
// Inyect into ListenerApi
}
在这个测试评论中,我如何通过@Autowired进入ListenerApi?
谢谢。
您的@SpringBootTest应该是这样的:< br >
@SpringBootTest(classes = {ListenerApi.class, NavigatorProperties.class})
包含要注入ListenerApiTest的每个bean类
在要扫描的包中添加组件扫描注释
@ComponentScan(basePackages = "my.package.to.scan")
首先,你需要用< code > org . spring framework . stereotype . component 来注释你的依赖关系。
@Component
public class ListenerApi implements IRestListenerApi {
然后在需要时注入:
@Autowired
private ListenerApi listenerApi;
我对单元测试有问题。下面是示例代码片段。我模拟了一个bean,并将其注入@configuration类,然后使用mocked属性创建另一个bean。 在下面的示例中,如果我检查,b.getSomething()会返回默认值,如字符串为“”,int为0等。我不会得到模拟值。你知道怎么做吗?
我这里有一个问题,请给出一些想法。 我有两个豆子。FaceComparisonServerImpl依赖于FaceServer。当我想测试的时候。我想更改我的'FaceServer'bean中的字符串。 贝娄是我的测试代码。 我的问题是:我如何修改@bean(faceServer)中'version'和'server_url'的值? 谢谢你!
我正在使用以下依赖项: 创建了新的测试类: 我在Spring Boot中创建了测试用例,但是我得到了这个错误: 这是我的应用程序类: 知道我为什么不能在测试类中注入bean吗? 我按照建议删除了@ContextConfiguration,@ComponentScan,@ConnecationTes现在我看到了不同的异常:
问题内容: 我有一个组件安装程序,它实际上是一个应用程序的启动器。它的配置如下: MyService带有Spring注释,并自动连接到我的启动器类中,没有任何问题。 我想为MyLauncher编写一些jUnit测试用例,为此,我启动了一个这样的类: 我可以为MyService创建一个Mock对象,然后将其注入测试类中的myLauncher吗?由于Spring正在处理自动装配,因此我目前在myLau
概要文件对于我所需要的似乎有点过分了,我不确定这是否可以通过主注释来实现,因为不同的单元测试可能有不同的模拟。
问题内容: 我试图通过注释将整个JSF托管Bean注入另一个托管Bean非常相似,但是我正在注入Bean,而不是Servlet)。这就是我在做什么: 不起作用(JSF 2.0 / Mojarra 2.0.3): 有没有可能或者我需要通过编程方式进行注射? 问题答案: 您需要添加setter和getter 当将解析并注入依赖项时,它将使用setters注入,因此适当的setters / getter