Junit测试错误 - DictionaryServiceTest.testAddDictionary:65预期: 但是:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Junit测试错误 - DictionaryServiceTest.testAddDictionary:65预期: 但是:相关的知识,希望对你有一定的参考价值。
考试班
@RunWith(SpringRunner.class)
@SpringBootTest
public class DictionaryServiceTest {
@MockBean
private DictionaryService dictionaryService;
@MockBean
private DictionaryRepo dictionaryRepo;
@Before
public void before() {
System.out.println("Before method in dictionary service");
}
@After
public void after() {
System.out.println("After method in dictionary service ");
}
@Test
public void testAddDictionary() {
//Set<DictionaryValue> dictionaryValue = new HashSet<>();
Dictionary dictionary = new Dictionary();
dictionary.setId(1);
dictionary.setDictionaryName("Test Dictionary");
dictionary.setDictionaryDescription("Running first test case of dictionary");
dictionary.setDictionaryKey("123456789");
dictionary.setStatus("2");
dictionary.setCreatedOn(new Date());
dictionary.setUpdatedOn(new Date());
//dictionary.setDictionaryValues(dictionaryValue);
Mockito.when(dictionaryRepo.save(dictionary)).thenReturn(dictionary);
assertThat(dictionaryService.addDictionary(dictionary)).isEqualTo(dictionary);
}
模型类
@Entity
public class Dictionary {
@Id
@GeneratedValue()
private int id;
private String dictionaryName;
private String dictionaryDescription;
private String dictionaryKey;
private String status;
private Date createdOn;
private Date updatedOn;
@OneToMany(mappedBy = "dictionary", cascade = CascadeType.ALL)
private Set<DictionaryValue> dictionaryValues;
}
当我为这个模型执行测试类时,我对此模型的误差超过了。我不知道为什么有人能帮助我?
服务类和Repository接口工作正常,它们按预期工作。
..............................................................................................................................................................
答案
该错误意味着您已设置期望将使用字典对象调用dictionaryRepo上的save方法,但是使用null调用它。
另一答案
不要模仿服务及其依赖:这没有意义。
因此,假设服务与ApplicationContext
中的存储库一起自动装配,只需将真实服务中的自动装配到您的测试类中,如下所示。
@Autowired
private DictionaryService dictionaryService;
以上是关于Junit测试错误 - DictionaryServiceTest.testAddDictionary:65预期: 但是:的主要内容,如果未能解决你的问题,请参考以下文章
java junit4-JUnit测试报 No socket available 错误
SpringBoot 在运行 Junit 测试时禁用 DataSourceAutoconfigure 错误