KotlinTestEngine.discover()不返回任何测试

时间:2018-10-12 13:48:20

标签: junit kotlin junit5 kotlintest

我的目标是拥有一个可以找到任何用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可以获得空列表。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的代码不起作用的原因是因为KotlinTest不支持包名称选择器。这可能被认为是KotlinTest中的错误。

它确实支持类路径,类,目录和uri选择器。

编辑:

从3.2版本开始,KotlinTest现在支持包选择器,因此您的代码可以正常工作。