问题标签 [java-test-fixtures]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gradle - java-test-fixtures 插件是否与 Build and run using IntelliJ IDEA 设置不兼容?
看起来如果我在我的 java Gradle 项目中使用 java-test-fixtures 插件,当 IntelliJ 导入它时,IDE 将始终将src/testFixtures
dir 标记为源文件夹(在模块设置,源选项卡中可见)。
然而,我build.gradle
在testFixturesApi
ortestFixturesImplementation
配置中添加的任何依赖项都被导入到 IDEA 项目中,其范围为Test
(在模块设置、依赖项选项卡中可见)。
因此,当我去构建我的项目时,使用项目构建并使用设置IntelliJ IDEA
而不是默认设置运行Gradle
(在设置 -> 构建、执行、部署 -> 构建工具 -> Gradle 中可见),构建器找不到deps 从那些 testFixtures 配置中,我得到一堆包不存在错误。
在使用向导设置新java-library
项目gradle init
并向其中添加“java-test-fixtures”插件后,可以轻松地重现此行为,然后将 dep 添加到测试夹具配置之一并将其导入到测试中的 java 文件中固定 SourceSet,然后切换 Build and run 设置并单击 build。
我正在使用 Gradle 6.0 和 IntelliJ 2019.3 BETA。
我尝试将 testFixtures 源目录明确标记为测试源文件夹:
但是 IDEA Gradle 导入似乎并不尊重这一点,我怀疑它无论如何都是错误的解决方案。
有没有办法让 java-test-fixtures 插件与 IDEA 构建器一起玩得很好,而不会将我的部门从testFixturesApi
配置泄漏到api
配置中?
更新
所以我的团队在 IntelliJ 注册表中启用了“gradle.settings.showDeprecatedSettings”选项,目前没有使用推荐的“每个 SourceSet 的模块”选项——而是每个项目都有一个模块。此问题仅适用于每个项目的模块,已弃用。请参阅:https ://youtrack.jetbrains.com/issue/IDEA-222172
unit-testing - 使用 java-test-fixtures 模块时如何从测试中测试声明为“内部”的 kotlin 函数
我尝试在我的 kotlin 项目中使用测试装置。不幸的是,我在工具链的一个组件中遇到了一个奇怪的问题,可能是一个错误(不确定是哪个)。
main
通常,声明中的 Kotlin 函数internal
可以test
从同一包中的单元访问。有许多证据支持这种说法,尤其是Kotlin:使内部函数对单元测试可见
事实上,如果我们有src/main/kotlin/ main.kt:
和src/test/kotlin/SayHelloTest.kt:
使用常规build.gradle.kts成功通过测试:
到目前为止,一切都很好。
但是在插件列表中添加了一行:
测试的构建因以下错误而中断:
我发现 Gradle 中提到了类似的问题, Kotlin Gradle 插件错误跟踪器。不幸的是,我无法从这些问题中提取解决方案。也许,这是一个不同的问题。
为了方便读者,我在 Github 上准备了一个小仓库来演示这个问题。
java - Gradle 测试夹具插件和核心模块依赖项
我有一个使用 Gradle 版本 6.4 和 JDK 8 构建的项目。我正在尝试将 Gradle插件用于测试夹具( java-test-fixtures
),但我对依赖项有一些问题。
根据上面链接的 Gradle 页面,该项目的结构应如下所示:
虽然该build.gradle.kts
文件具有以下依赖项部分:
现在,在 IntelliJ(我正在使用的 IDE)中,testFixtures/java
源文件夹中的类可以查看源文件夹中的类main/java
。所以我可以添加新的 Java 类testFixtures/java
,这些类依赖于main
. 但是,我将无法从外部库导入依赖项com.my.external.project:1.0
。当我尝试运行 Gradle 任务时,问题得到确认compileTestFixturesJava
。
我可以复制该dependencies
部分中的条目;例如,我可以添加:
但这并不是我真正期望做的。特别是当我有几十个依赖项时。
我还可以在数组中定义依赖项并for-each
在它们之上运行。不过,这不是最干净的解决方案。
是否有一个干净的解决方案允许testFixtures
模块使用模块中声明的依赖项main
?
gradle - 带有 java-test-fixtures 的 Gradle 平台
我正在以集中方式为多项目 gradle 构建配置依赖项版本。这样它的工作原理:
这种方式不行。虽然配置阶段是好的:
...但compileTestFixturesKotlin
任务失败。错误是:
java-test-fixtures
插件有什么问题?或者可能是我的代码?
java - 带有自定义源和测试集的 Gradle java-test-fixtures 插件
所以我有一个多模块java项目每个模块的结构如下
现在,当我构建模块 A 时,生成的 -test-fixtures jar 是空的。我的最终目标是使用模块 A 中的测试助手类供模块 B 中的测试使用。
所以我的问题是测试装置是否适用于这种结构。
android - 用于 Android 开发的 Gradle 测试夹具插件
尝试使用 gradle 6.6.1 的 gradle 测试夹具,使用以下插件集
产生错误
(类似的结果)按照文档的要求testFixturesImplementation
添加插件:java-library
产生类似的东西
在 Ubuntu 20.04 上使用 kotlin 1.4(可能还有 kotest)为 Android 构建时,如何让 gradle testFixtures 工作?我的总体意图是使用自定义 kotest 生成器来创建在同一app
项目下的多个测试源树之间共享的属性测试装置,即
共享测试助手以支持代码枯燥是有充分理由的;这种方法不是本次讨论的主题;我不是在寻求这方面的建议。这个问题的目标是一种开始testFixtures
工作的方式,因为我显然不明白如何做到这一点,非常感谢您在这个方向上的帮助。如果上述描述故意简洁,但缺少必要的细节,我可以提供更多细节。
java - 如何在 Mockito 的方法中模拟“新”创建的对象
我有一个遗留代码,代码如下所示:
如何模拟new URL(endpoint).getConnection()
. 在我得到一个 mocked 之前urlConnection
,我无法继续对该方法进行进一步的陈述。
testing - 如何测试 java Jar 应用程序?
我正在做一个 java 项目“大学管理系统”,我必须对其进行测试。实施后,我从项目中导出了一个 jar 文件。现在,我需要测试这个项目。负载测试是不可能的,因为它是 java 类型的项目。所以,我需要对其进行图形用户测试。谁能解释一下测试这个应用程序的程序?先感谢您。