1

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

谢谢你的帮助。

4

1 回答 1

1

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

它确实尊重类路径、类、目录和 uri 选择器。

编辑:

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

于 2018-11-01T22:18:11.640 回答