我使用 Scala 2.10、Specs2 13.1-SNAPSHOT 和 Play2 Framework 2.1 提供的 FluentLenium Api。
我的IntegrationSpec
文件中有这行代码,找到一个子元素(根据 FluentLenium 规范):
browser.find(".myClass").find("#mySubElement") must haveSize(1)
该行导致以下编译错误:
error: type mismatch;
found : org.fluentlenium.core.domain.FluentList[_ <: org.fluentlenium.core.domain.FluentWebElement]
required: org.fluentlenium.core.domain.FluentList[?0(in value $anonfun)] where type ?0(in value $anonfun) <: org.fluentlenium.core.domain.FluentWebElement
Note: org.fluentlenium.core.domain.FluentWebElement >: ?0, but Java-defined class FluentList is invariant in type E.
You may wish to investigate a wildcard type such as `_ >: ?0`. (SLS 3.2.10)
由于泛型,它是一种......不兼容的Scala / Java吗?还是我没有弄清楚的正常行为?
然而,这一行(省略任何匹配器)可以很好地编译:
browser.find(".myClass").find("#mySubElement")