@Autowired annotation not able to inject bean in JUnit class
my test class:
public class myTest extends TestCase{
@Autowired
BeanClass beanObject
public void beanTest()
{
Classdata data = beanObject.getMethod();
}
}
I am getting a null pointer exception at line:
Classdata data = beanObject.getMe开发者_如何学Cthod();
the beanObject.getMethod();
precisely gives nullpointer exception
How should i make possible the autowiring of the field beanObject in my Junit class so that i can use the methods from the "BeanClass" class?
Copied from 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?
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!
精彩评论