Unable to run Junit case case .Throws error “Actually there were zero interactions with this mock”
up vote
0
down vote
favorite
I am trying to unit test a class. The class is as follows
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyConfig.class)
Class MyTest{
@Mock
pirvate JmsTemplate jmsTemplate;
@InjectMocks
private final ProductService productService= new ProductService();
@Test
public void sendItem(){
Item i = new Item();
i.name("xyz");
productService.send(i)
verfity(jmsTemplate).convertAndSend("product.test",i)
}
}
@Configuration
@PropertySource(classpath:application-test.properties)
class MyConfig{
@Bean
ProductService productService(){
return new ProductService();
}
@Bean
JmsTemplate jmsTemplate(){
return new JmsTemplate();
}
}
resources folder under test package has
application.properties, contents of it are
spring.profiles.active=test
And application-test.properties has
queue.name=product.test
My productService class is as follows
class ProductService{
@Autowired
JmsTemplate jmsTemplate;
@Value("${queue.name}")
private String queue;
public void send(Item i){
jmsTemplate.convertAndSend(queue,i)
}
}
When i run the above test case i get,
I getting mockito wanted but not invoked,
Actually there were zero interactions with this mock.
But Argument passed to convertAndSend method match
can anyone suggest some solutions.
java junit mockito spring-junit
add a comment |
up vote
0
down vote
favorite
I am trying to unit test a class. The class is as follows
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyConfig.class)
Class MyTest{
@Mock
pirvate JmsTemplate jmsTemplate;
@InjectMocks
private final ProductService productService= new ProductService();
@Test
public void sendItem(){
Item i = new Item();
i.name("xyz");
productService.send(i)
verfity(jmsTemplate).convertAndSend("product.test",i)
}
}
@Configuration
@PropertySource(classpath:application-test.properties)
class MyConfig{
@Bean
ProductService productService(){
return new ProductService();
}
@Bean
JmsTemplate jmsTemplate(){
return new JmsTemplate();
}
}
resources folder under test package has
application.properties, contents of it are
spring.profiles.active=test
And application-test.properties has
queue.name=product.test
My productService class is as follows
class ProductService{
@Autowired
JmsTemplate jmsTemplate;
@Value("${queue.name}")
private String queue;
public void send(Item i){
jmsTemplate.convertAndSend(queue,i)
}
}
When i run the above test case i get,
I getting mockito wanted but not invoked,
Actually there were zero interactions with this mock.
But Argument passed to convertAndSend method match
can anyone suggest some solutions.
java junit mockito spring-junit
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to unit test a class. The class is as follows
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyConfig.class)
Class MyTest{
@Mock
pirvate JmsTemplate jmsTemplate;
@InjectMocks
private final ProductService productService= new ProductService();
@Test
public void sendItem(){
Item i = new Item();
i.name("xyz");
productService.send(i)
verfity(jmsTemplate).convertAndSend("product.test",i)
}
}
@Configuration
@PropertySource(classpath:application-test.properties)
class MyConfig{
@Bean
ProductService productService(){
return new ProductService();
}
@Bean
JmsTemplate jmsTemplate(){
return new JmsTemplate();
}
}
resources folder under test package has
application.properties, contents of it are
spring.profiles.active=test
And application-test.properties has
queue.name=product.test
My productService class is as follows
class ProductService{
@Autowired
JmsTemplate jmsTemplate;
@Value("${queue.name}")
private String queue;
public void send(Item i){
jmsTemplate.convertAndSend(queue,i)
}
}
When i run the above test case i get,
I getting mockito wanted but not invoked,
Actually there were zero interactions with this mock.
But Argument passed to convertAndSend method match
can anyone suggest some solutions.
java junit mockito spring-junit
I am trying to unit test a class. The class is as follows
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyConfig.class)
Class MyTest{
@Mock
pirvate JmsTemplate jmsTemplate;
@InjectMocks
private final ProductService productService= new ProductService();
@Test
public void sendItem(){
Item i = new Item();
i.name("xyz");
productService.send(i)
verfity(jmsTemplate).convertAndSend("product.test",i)
}
}
@Configuration
@PropertySource(classpath:application-test.properties)
class MyConfig{
@Bean
ProductService productService(){
return new ProductService();
}
@Bean
JmsTemplate jmsTemplate(){
return new JmsTemplate();
}
}
resources folder under test package has
application.properties, contents of it are
spring.profiles.active=test
And application-test.properties has
queue.name=product.test
My productService class is as follows
class ProductService{
@Autowired
JmsTemplate jmsTemplate;
@Value("${queue.name}")
private String queue;
public void send(Item i){
jmsTemplate.convertAndSend(queue,i)
}
}
When i run the above test case i get,
I getting mockito wanted but not invoked,
Actually there were zero interactions with this mock.
But Argument passed to convertAndSend method match
can anyone suggest some solutions.
java junit mockito spring-junit
java junit mockito spring-junit
asked Nov 10 at 19:12
coder
45
45
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Your beans you injected into the test do not seem to be Spring managed. What about this?
@MockBean
private JmsTemplate jmsTemplate;
@Autowired
private ProductService productService;
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Your beans you injected into the test do not seem to be Spring managed. What about this?
@MockBean
private JmsTemplate jmsTemplate;
@Autowired
private ProductService productService;
add a comment |
up vote
1
down vote
accepted
Your beans you injected into the test do not seem to be Spring managed. What about this?
@MockBean
private JmsTemplate jmsTemplate;
@Autowired
private ProductService productService;
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Your beans you injected into the test do not seem to be Spring managed. What about this?
@MockBean
private JmsTemplate jmsTemplate;
@Autowired
private ProductService productService;
Your beans you injected into the test do not seem to be Spring managed. What about this?
@MockBean
private JmsTemplate jmsTemplate;
@Autowired
private ProductService productService;
answered Nov 10 at 20:07
Sami Altundag
411
411
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242505%2funable-to-run-junit-case-case-throws-error-actually-there-were-zero-interactio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown