当前位置: 首页 > 知识库问答 >
问题:

无法运行Junit案例。抛出错误“实际上与此模拟没有任何交互”

阴高寒
2023-03-14

我正在尝试单元测试一个类。课程安排如下

@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

我的productService类如下

class ProductService{
  @Autowired
    JmsTemplate jmsTemplate;

   @Value("${queue.name}")
    private String queue;

    public void send(Item i){
         jmsTemplate.convertAndSend(queue,i)
    }
}

当我运行上面的测试案例时,

我得到了mockito想要的,但没有被调用,实际上这个mock没有任何交互。但传递给convertAndSend方法match的参数可以提供一些解决方案。

共有1个答案

须新
2023-03-14

你注射到测试中的豆子似乎没有得到Spring管理。这个呢?

@MockBean
private JmsTemplate jmsTemplate;

@Autowired
private ProductService productService;
 类似资料:
  • 我尝试了例外情况下给出的解决方案:mockito想要但没有调用,实际上与这个mock没有任何交互,而这个mockito也想要但没有调用:实际上,与这个mock没有任何交互但仍然得到相同的错误。我是不是漏掉了什么?以下是me的实现:-

  • MyDriveRepository.getMyDriveItemSelectedPathuri一直返回null。我试着查看以下链接,但没有找到解决问题的方法。

  • 我被通缉了,但没有被征召。方法在行处与此模拟错误没有任何交互。甚至我也嘲弄了这个对象&在调试函数时被调用。 下面是我要测试的函数,

  • 当我尝试运行一个JUnit类时,我得到以下错误: 我怀疑这是POM.xml中的配置问题,但我不确定。顺便说一下,这里是依赖项: http://maven.apache.org/maven-v4_0_0.xsd"

  • 我有接口 接口的实现是 我还有一节课 我正在尝试为MyClass编写JUnit。我已经做了 但我需要mockito但没有调用,实际上在验证调用时与这个mock没有任何交互。 谁能提出一些解决方案。

  • 问题内容: 我想在生产代码中模拟某个类的任何实例的方法,以便于测试。Python中是否有任何库可以简化此过程? 基本上,我想执行以下操作,但是在Python中(以下代码是Ruby,使用Mocha库): 从上面需要注意的重要一点是,我需要在类级别上对其进行模拟,因为实际上我需要对我正在测试的事物创建的实例上的方法进行模拟。 用例: 我有一个类,它在的实例上调用方法。我想模拟出返回常量的方法。我如何在