@Autowired annotation not able to inject bean in JUnit class

后端 未结 1 1776
小鲜肉
小鲜肉 2021-01-15 14:33

my test class:

public class myTest extends TestCase{
@Autowired
BeanClass beanObject
public void beanTest()
{
Classdata data = beanObject.getMethod();
}
}
         


        
1条回答
  •  迷失自我
    2021-01-15 15:02

    You probably need to decorate your tests with these annotations:

    @ContextConfiguration(locations = {/* your xml locations here */})
    @RunWith(SpringJUnit4ClassRunner.class)
    

    Or, if you use JUnit 3.x, you should extend from AbstractJUnit38SpringContextTests

    Reference: TestContext support classes

    Update: The problem seems to be that the context file can't be found (see discussion in comments).

    in plain terms.. beanClass is an interface which has certain methods.. i have tagged that beanClass with @Service("beanObject") annotation..that banClass is implemented by beanClassImpl class which has the method implementations.. i need to use those implementations in my testClass to get the data to be compared.. for that i am doing @Autowired beanClass beanObject in my testClass.. m i going terribly wrong somewhere?

    More Updates:

    Don't annotate the interface, annotate the implementing class. Annotating the interface with @Service has no effect!

    0 讨论(0)
提交回复
热议问题