ユニットテストケースで使用するスプリングマネージドBeanを自動配線しようとしています。しかし、autowired beanは常にnullです。私の設定は以下の通りです。ユニットテストケースの@Autowired beans
私のユニットテストクラス
@RunWith(MockitoJUnitRunner.class)
@ContextConfiguration(locations = "classpath*:business-context-test.xml")
public class SMSGatewayTest {
@Autowired
@Qualifier("mySMSImpl")
private ISMSGateway smsGateway;
@Test
public void testSendTextMessage() throws Exception {
smsGateway.sendText(new TextMessage("TEST"));
// ^___________ this is null, even though I have set ContextConfiguration
}
}
春は、Bean管理
package com.myproject.business;
@Component("mySMSImpl")
public class MySMSImpl implements ISMSGateway {
@Override
public Boolean sendText(TextMessage textMessage) throws VtsException {
//do something
}
}
ユニット・テスト・ケースのコンテキスト
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:annotation-config/>
<context:component-scan base-package="com.myproject.business"/>
</beans>
私は多くの疑問を抱いており、私はすでに自分のコードに組み込んでいる答えをすべて提供しています。私が何が欠けているか教えてくれる人もいます。私はテストケースを実行するためにintellij 14を使用しています。
クール。ありがとう、それは働いた。 – ManinGreen
問題が実際にどのようなものだったのか、どうしてなぜSpringJUnit4ClassRunnerへの変更が問題を解決したのかなど、あなたの答えに詳細を追加できたらうれしいですね。私はここで少し混乱している。 :) – ManinGreen
確かに答えを編集しました。見てください。 – asg