使用java springboot mongodb进行部分更新的JUNIT测试
您好,我是JUnit test和Mockito的新手,我的问题是如何在我的使用java springboot mongodb进行部分更新的JUNIT测试,java,mongodb,junit,mocking,Java,Mongodb,Junit,Mocking,您好,我是JUnit test和Mockito的新手,我的问题是如何在我的customArticleRepository中为这个自定义部分更新方法编写单元测试,它没有返回参数? 我有一个名为Article的POJO对象,我想对其进行部分更新。REST端点将获取一个DTO对象分类掩码,并将特定的更新值作为请求主体,调用服务层ArticleService,该层调用myCustomArticleRepository方法 这是我的文章对象 public class Article { private
customArticleRepository
中为这个自定义部分更新方法编写单元测试,它没有返回参数?
我有一个名为Article
的POJO对象,我想对其进行部分更新。REST端点将获取一个DTO对象分类掩码
,并将特定的更新值作为请求主体,调用服务层ArticleService
,该层调用myCustomArticleRepository
方法
这是我的文章对象
public class Article {
private String id;
@Field("_cls")
private String inheritance;
private String title;
private Date published;
private String content;
private String link;
private String summary;
private String description;
private Date updated;
private String primary;
private String[] secondary;
private String category;
private String[] categories;
private String person;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private Date deleted_date;
private Boolean is_new;
private Boolean edited;
private Aws aws;
这是我的DTO对象
public class ClassificationMask {
private String id;
private String title;
private String content;
private String primary;
private String[] secondary;
private Float sentiment_positive;
private Float sentiment_negative;
private Float sentiment_neutral;
private Float sentiment_mixed;
private String category;
private String person;
private Boolean is_new;
private Datasource datasource;
这是我在存储库中的partialupdate方法
public void partialUpdateMask(String id, ClassificationMask articleUpdate) {
Query query = new Query(where("id").is(id));
Update update = new Update();
if(articleUpdate.getPrimary() !=null) { update.set("primary", articleUpdate.getPrimary()); }
if(articleUpdate.getSecondary() !=null){ update.set("secondary", articleUpdate.getSecondary());}
if(articleUpdate.getCategory() !=null){ update.set("category", articleUpdate.getCategory());}
if(articleUpdate.getPerson() !=null){ update.set("person",articleUpdate.getPerson());}
if(articleUpdate.getIs_new() !=null){ update.set("is_new",articleUpdate.getIs_new()); }
update.set("edited",true);
mongoTemplate.updateFirst(query,update ,Article.class);
}
测试无效方法我们可以:
Mockito.verify(mongoTemplate).updateFirst(query, update, Article.class);
以这种方式,你在测试它
是否更新您的类?@Renato no这是springboot的一个类,在这里: