我正在使用我的测试代码创建一个JAR,并计划从另一个项目运行测试。
以下是我正在尝试实施的方法。
项目B:
configurations { testApi }
task testJar ....
artifacts { testApi testJar }
项目A:
dependencies {
testRuntime "xx.xxx.xxx.projectName", configuration: "integtest";
}
测试似乎没有运行这种方法。什么可能是问题的任何想法?有更好的方法吗?
答案 0 :(得分:1)
Gradle仅查找通过相应testClassesDirs
类型任务的Test
属性配置的目录中的测试类,其中java
插件project.sourceSets.test.output.classesDirs
为test
configurations {
externalTests
}
dependencies {
externalTests "xx.xxx.xxx.projectName", configuration: "integtest"
testRuntime "xx.xxx.xxx.projectName", configuration: "integtest"
}
test {
// if only one dependency in externalTests you can use the simpler, it will fail if there are multiple dependencies
testClassesDirs += zipTree(configurations.externalTests.singleFile)
// if multiple dependencies in externalTests you need to use
testClassesDirs += configurations.externalTests.files.collect { zipTree it }.sum()
}
1}}任务。不支持从依赖项中的JAR文件运行测试。
您需要提取JAR文件并将解压缩的目录添加到此属性中。我认为类似下面的结构应该可行,但我没有测试它:
df = read.table(text = "
Id Question1
1 5
1 3
2 3
3 5
4 1
", header=T)
library(dplyr)
library(tidyverse)
df %>%
group_by(Id) %>%
mutate(row = paste0("Question1.v", row_number())) %>%
ungroup() %>%
spread(row, Question1)
# # A tibble: 4 x 3
# Id Question1.v1 Question1.v2
# * <int> <int> <int>
# 1 1 5 3
# 2 2 3 NA
# 3 3 5 NA
# 4 4 1 NA