Spring boot @DataJpaTest排除过滤器不起作用

2023-12-24

我有这个测试:

    @RunWith(SpringRunner.class)
    @DataJpaTest(excludeFilters = @Filter(type = FilterType.REGEX,
                                    pattern = "io\\.rainrobot\\.adwisdom\\.repository\\.es\\..*"))
    public class AskTest {

不应扫描此包中的存储库:io.rainrobot.adwisdom.repository.ex.* - 但是当我运行测试时我收到此错误:

Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract org.springframework.data.domain.Page io.rainrobot.adwisdom.repository.es.AskElasticRepository.findByTitle(java.lang.String,org.springframework.data.domain.PageRequest)! No property title found for type Ask!

这是配置:

    @SpringBootApplication public class Application {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }}
    @Configuration
    @EnableTransactionManagement
    @EnableJpaRepositories(basePackages="io.rainrobot.adwisdom.repository.sql") 
    @EntityScan(basePackages = {"io.rainrobot.adwisdom.dto"},
                basePackageClasses = {Jsr310JpaConverters.class})
    public class  JpaConfig {
    }
    @Configuration
    @EnableElasticsearchRepositories(basePackages=
        "io.rainrobot.adwisdom.repository.es")
    @EntityScan(basePackages = {"io.rainrobot.adwisdom.dto"},
        basePackageClasses = {Jsr310JpaConverters.class})
    public class ElasticsearchCongifuration {
        @Value("${elasticsearch.host:localhost}")
        public String host;
        @Value("${elasticsearch.port:9300}")
        public int port;

        @Bean
        public Client client(){
            TransportClient client = null;
            try{
                InetAddress inetAddress = InetAddress.getByName(host);
                TransportAddress transportAddress
                    = new TransportAddress(inetAddress, port);
                client = new PreBuiltTransportClient(Settings.EMPTY)
                    .addTransportAddress(transportAddress);
             } catch (UnknownHostException e) {  }
             return client;
        }
    }

和 application.properties:

# JPA config
spring.datasource.url=jdbc:mysql://localhost:3306/advisdom?useTimezone=true&serverTimezone=UTC&createDatabaseIfNotExist=true
spring.datasource.username=admin
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

# Local Elasticsearch config
elasticsearch.host=localhost
elasticsearch.port=9200

loggin.level.org.springframework: DEBUG

# App config
server.port=8102
spring.application.name=BootElastic

如何使用 @DataJpaTest 排除组件?


过滤器仅影响组件扫描。如果该扫描找到您的配置这一行:

@EnableElasticsearchRepositories(basePackages=
    "io.rainrobot.adwisdom.repository.es")

然后将为您尝试排除的包启用存储库。

至少这是我的理解。 如果您从配置中删除该行,应该很容易验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot @DataJpaTest排除过滤器不起作用 的相关文章

随机推荐

  • asp.net C# 生成用户控制参数

    ASP net 对我来说是新的 并且我被交给了一个现有的项目来处理 我这样写 Asp Net WebForms 如何将 ViewData 作为参数传递给用户控件 https stackoverflow com questions 46150
  • 将matlab图形保存到指定目录的脚本

    假设我在 matlab 中打开了几个图形 我想要一些可以调用的函数 例如save all figures to directory dir name 这将迭代所有图形并将它们保存到指定的文件夹中 我该怎么做呢 可以使用Matlab函数fin
  • pytesseract 不适用于一位数字图像

    我有使用 pytesseract 的代码并且工作完美 只有当我尝试识别的图像是 0 到 9 时才不起作用 如果图像只有一位数字 则不会给出任何结果 这是我正在工作的图像样本 这是我正在使用的代码 import pytesseract var
  • Scala:值 :: 不是 Int 的成员

    我最近开始使用 scala 但我无法获取任何错误消息 对于以下代码 我得到指定的消息 使用 eclipse def helper Int gt List Int x gt x match case 2 gt 2 1 我可以使用 List 2
  • getSignedUrl() 和 getDownloadUrl() 之间的区别

    Node js 上的 get getSignedUrl 方法与 SDK 上的 getDownloadURL 方法有什么区别 我用的是颤动 与我在云函数中使用的 getSignedUrl 一样 当图像更改时返回的url不会更改 具有相同的文件
  • 作为一个原子操作插入到 azure cosmos db 中的多个容器

    我对 Azure Cosmos DB 有点陌生 我想知道它是否可以选择将多个容器上的多个操作作为一个原子操作 例如 所有成功或失败都来自 NET 后端 对于单个容器中的单个操作来说 操作是原子的 如果您使用存储过程 则可以在单个容器内的单个
  • Microsoft Excel 保存文件时使用什么字符集?

    我有一个 Java 应用程序 可以读取在 Excel 中创建的 CSV 文件 例如 2007 有谁知道 MS Excel 使用什么字符集来保存这些文件 我会猜测 windows 1255 Cp1255 ISO 8859 1 UTF8 但我无
  • 保护 ajax 请求的安全

    我有一个使用会话 cookie 来确保安全的网站 它工作得很好 但是现在任何 ajax 请求都不安全 例如 假设用户在某个页面上 他们只有通过会话登录才能访问此页面 到目前为止一切顺利 但现在他们要求的ajax请求是 ajaxpages s
  • Gradle 工件插件无法解决对配置阶段的依赖

    我正在尝试使用artifactory gradle 插件解决配置阶段的依赖关系 apply plugin java apply plugin com jfrog artifactory artifactory contextUrl arti
  • 我们可以使用贪心算法而不是动态规划来解决“整齐打印”问题吗?

    算法导论 书中的 打印整齐 问题是通过动态规划来解决的 是问题5 3 已找到解决方案here https segue middlebury edu repository viewfile polyphony repository repos
  • 如何通过 OpenCV 和 Python 通过索引从视频中获取帧?

    我需要通过帧索引访问视频中的帧 到目前为止我使用了这样的代码 video cv2 VideoCapture video path status frame video read 该代码读取第一帧 如果我重复使用该代码 我将获得下一帧 但是我
  • CPU 中的相关负载重新排序

    我一直在阅读内存屏障 软件黑客的硬件视图 http www puppetmastertrading com images hwViewForSwHackers pdf 保罗 E 麦肯尼 Paul E McKenney 撰写的一篇非常受欢迎的
  • 电子邮件上的 CSS

    有没有人找到一种在以编程方式生成的电子邮件中嵌入 CSS 的好方法 我发现的最好方法是将样式代码放入资源文件中并在代码中调用它 一个例子是 Dim objBuilder objBuilder New StringBuilder objBui
  • 如何关闭本地 firebase 模拟器?

    目前我使用以下命令初始化 firebase 模拟器 firebase emulators start 经过一段时间的研究后 我想停止它 那么我怎样才能停止模拟器呢 查看端口被哪个进程占用sudo lsof i tcp
  • 从 htaccess 中的 URL 中删除不需要的字符

    我们当前的 htaccess 设置正确地将 URL 转换为这样 site com page php sid Friend 到 site com Friend 然而 由于不相关的疏忽 我们几乎所有的 URL 都被双索引为 site com F
  • phpmyadmin:创建一个函数

    我正在尝试在我的 phpmyadmin 中创建一个函数 不起作用 这是我的语法 DELIMITER CREATE FUNCTION fixString input varchar RETURNS varchar BEGIN declare
  • 如何在 TypeORM queryBuilder 中显示生成的 SQL/原始 SQL

    我开发了typeorm querybuilder 为了调试的目的 我想显示生成的 SQL 查询 我测试过printSql 方法 但它没有显示任何 SQL 查询 const Result await this attendanceReposi
  • R Keras:将tensorflow张量转换为R数组

    我正在使用 R Keras 我可以通过执行以下命令来获取中间层的输出 layer output lt get layer mymodel index 1 output 其中 mymodel 是 Keras 模型 问题是layer outpu
  • 更新拉丝面积图的 y 轴

    我正在使用 d3 js 并且我正在通过修改来处理拉丝面积图这个例子 http bl ocks org 1667367 除了根据画笔改变 x 轴之外 我还希望根据画笔内数据的 y 值重新绘制图表的 y 轴 类似于 我已经使该功能正常工作 但只
  • Spring boot @DataJpaTest排除过滤器不起作用

    我有这个测试 RunWith SpringRunner class DataJpaTest excludeFilters Filter type FilterType REGEX pattern io rainrobot adwisdom