gpt4 book ai didi

java - @InjectMocks @Autowired 在一起问题

转载 作者:搜寻专家 更新时间:2023-11-01 01:34:00 31 4
gpt4 key购买 nike

你能帮帮我吗一些代码:

@ContextConfiguration(locations = { "/applicationContext.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class TestUnit2 {

@Mock
private MongoOperations mongoTemplate;

@InjectMocks
@Autowired
private WorkcircleRepositoryMongoImpl workCircleRepository;

@Autowired
private WorkcircleServiceImpl workCircleServiceImpl;

@Before
public void setUp() {

....
when(mongoTemplate.findOne(new Query(), Person.class)).thenReturn(expectedPerson);
MockitoAnnotations.initMocks(this);
}

@Test
public void test() {

... workCircleServiceImpl.find()...

}

但是测试失败:
“... workCircleServiceImpl.find()...”行中的 NP,

@InjectMocks 和@Autowired 以单独的方式工作,但一起工作则不起作用。

最佳答案

通常在进行单元测试时,不应该初始化 Spring 上下文。所以删除 Autowiring 。

通常当你做集成测试时,你应该使用真正的依赖。所以删除模拟。

您在这里混合了集成和单元测试。

关于java - @InjectMocks @Autowired 在一起问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26757690/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com