我的目标是有一个可以找到任何用kotlintest编写的测试的类。我已经有了Java/Scala/Groovy单元测试的工作代码,但是不能让它工作在Kotlintest上。
我的发现代码:
LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request().selectors(selectPackage("com.example")).build();
descriptor = new KotlinTestEngine().discover(request, uniqueId);UniqueId的值为"engine:junit-example“。我尝试添加以下代码,但也不起作用。
new DiscoverySelectorResolver().resolveSelectors(discoveryRequest, descriptor);描述符包含所有具有测试但不包含测试方法的类。在其他情况下,调用descriptor.getChildren()来获取测试方法就足够了,但是使用Kotlintest时,我得到的列表是空的。
谢谢你的帮助。
发布于 2018-11-02 06:18:12
你的代码不能工作的原因是因为KotlinTest不支持包名称选择器。这可以被认为是KotlinTest中的一个错误。
它支持classpath、class、directory和uri选择器。
编辑:
在3.2版本中,KotlinTest现在支持包选择器,所以你的代码可以正常工作。
https://stackoverflow.com/questions/52780940
复制相似问题