Bazel:testng宏
我试图在Bazel中创建一个宏来包装Bazel:testng宏,bazel,build-tools,Bazel,Build Tools,我试图在Bazel中创建一个宏来包装java_test以运行testng,但是我在传递testng文件名时遇到了麻烦 到目前为止我有 加载(“@bazel_skylib/:lib.bzl”,“路径”) def java_testng(文件,deps=[],**kwargs): native.java_测试( name=path.split_扩展名(文件)[0], srcs=[file], 使用_testrunner=False, main_class='org.testng.testng', d
java_test
以运行testng
,但是我在传递testng文件名时遇到了麻烦
到目前为止我有
加载(“@bazel_skylib/:lib.bzl”,“路径”)
def java_testng(文件,deps=[],**kwargs):
native.java_测试(
name=path.split_扩展名(文件)[0],
srcs=[file],
使用_testrunner=False,
main_class='org.testng.testng',
deps=[
“//第三方:org\u testng\u testng”
]+副部长,
args=[文件],
**夸尔斯
)
然而,args似乎是一个不存在的运行文件。
关于args的正确值的帮助
这是我想要的一个示例用法
java\u testng(
file=“SomeFakeTest.java”,
deps=[
“/:资源”,
“//第三方:com\u fasterxml\u jackson\u core\u jackson\u databind”,
“//第三方:org\u assertj\u assertj\u core”,
],
)
这是我想出的解决方案
加载(“@bazel_skylib/:lib.bzl”,“路径”)
def java_testng(文件,deps=[],size=“small”**kwargs):
native.java_库(
name=path.split_扩展名(文件)[0]+“-lib”,
deps=[
“//第三方:org\u testng\u testng”
]+副部长,
srcs=[文件]
)
native.java_测试(
name=path.split_扩展名(文件)[0],
使用_testrunner=False,
main_class='org.testng.testng',
运行时_deps=[
“//第三方:org\u testng\u testng”,
paths.split_扩展名(文件)[0]+“-lib”
],
数据=[文件],
尺寸=尺寸,
args=[“-testclass$(位置“+file+”)”],
**夸尔斯
)
我不知道您为什么使用宏,我设法在没有宏的情况下调用testng。 请参见下面我的解决方案:
- 我创建我的程序jar(使用一些注释处理器)
- 我创建了我的测试jar(使用一些注释处理器)
- 我通过java_test()调用testng
java\u库(
name=“我的模特”,
srcs=glob([“src/main/java/***.java”]),
resources=glob([“src/main/resources/**]”),
deps=[
“@commons\u logging\u jar//jar”,
“:龙目岛”,
“:mysema_查询”,
...
],
)
爪哇大学图书馆(
name=“我的模型测试库”,
srcs=glob([“src/test/java/***.java”]),
deps=[
“@org\u hamcrest\u core\u jar//jar”,
“@commons\u logging\u jar//jar”,
“:龙目岛”,
“:mysema_查询”,
...
“@assertj_jar//jar”,
“@mockito_jar//jar”,
“@testng_jar//jar”,
],
)
java_测试(
name=“AllTests”,
size=“small”,
运行时_deps=[
“:我的模型测试库”,
“:我的模型”,
“@org\u jboss\u logging\u jar//jar”,
“@org\u objenesis\u jar//jar”,
“@com\u beust\u jcommander//jar”,
],
使用_testrunner=False,
main_class='org.testng.testng',
args=['-testjar'、'libmy-model-test-lib.jar'、'-verbose'、'2'],
)
java_插件(
name=“lombok_插件”,
processor_class=“lombok.launch.AnnotationProcessor隐藏$AnnotationProcessor”,
deps=[“@lombok_jar//jar”],
)
爪哇大学图书馆(
name=“lombok”,
导出=[“@lombok_jar//jar”],
导出的插件=[“:lombok插件”],
)
java_插件(
name=“mysema\u查询\u插件”,
processor_class=“com.mysema.query.apt.jpa.JPAAnnotationProcessor”,
deps=[
“@querydsl\u apt\u jar//jar”,
“@mysema\u codegen\u jar//jar”,
“@javax\u persistence\u jar//jar”,
“@querydsl\u codegen\u jar//jar”,
“@guava_jar//jar”,
“@querydsl\u core\u jar//jar”,
“@javax\u inject\u jar//jar”,
],
)
爪哇大学图书馆(
name=“mysema\u查询”,
exports=[“@querydsl\u apt\u jar//jar”],
导出的插件=[“:mysema\u查询插件”],
)
java_插件(
name=“mockito_插件”,
处理器_class=“”,
deps=[“@mockito_jar//jar”],
)
爪哇大学图书馆(
name=“mockito”,
exports=[“@mockito_jar//jar”],
导出的_插件=[“:mockito_插件”],
)
我以前也尝试过创建java_库