Java 如何编写弹簧规格的单元测试?
我创建了一个构建器类来构造对象。它用于为Java 如何编写弹簧规格的单元测试?,java,spring,unit-testing,testing,spring-data-jpa,Java,Spring,Unit Testing,Testing,Spring Data Jpa,我创建了一个构建器类来构造对象。它用于为JpaSpecificationExecutor创建查询。之所以使用构建器,是因为我有许多参数可以为null/空(来自用于筛选的用户),如果没有它,我不能仅使用规范: public class SpecificationBuilder<T> { private Specifications<T> specification; public SpecificationBuilder() { }
JpaSpecificationExecutor
创建查询。之所以使用构建器,是因为我有许多参数可以为null/空(来自用于筛选的用户),如果没有它,我不能仅使用规范
:
public class SpecificationBuilder<T> {
private Specifications<T> specification;
public SpecificationBuilder() {
}
public SpecificationBuilder(final Specification<T> spec) {
specification = Specifications.where(spec);
}
public SpecificationBuilder<T> appendOr(final Specification<T> spec) {
specification = Specifications.where(spec).or(specification);
return this;
}
public SpecificationBuilder<T> appendAnd(final Specification<T> spec) {
specification = Specifications.where(spec).and(specification);
return this;
}
public Specification<T> build() {
return Specifications.where(specification);
}
}
公共类规范生成器{
专用规范;
公共规范生成器(){
}
公共规范生成器(最终规范规范){
规格=规格。其中(规格);
}
公共规范建筑商附录(最终规范规范){
规范=规范。其中(规范)或(规范);
归还这个;
}
公共规范建筑商附录和(最终规范规范){
规范=规范,其中(规范)和(规范);
归还这个;
}
公共规范构建(){
退货规格。其中(规格);
}
}
我的问题是,我不知道如何单独测试它。当然,我可以自动连接真实存储库(在内存数据库中),但我不想涉及任何其他类,只测试逻辑、OR子句的创建方式
不幸的是,在SpringAPI中,我找不到任何有帮助的方法
有两种类型的测试和乳清专用于不同的情况 我不会这么说,我的意思是写一个通用规范,我认为这是在重写JPA背后的意图。我只写具体的规范,大多数情况下SpringJPA都可以处理。当然,这只是我个人的意见。我有10个参数,可以是空的,也可以不是空的。我不会写10!单一规格