首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScalaTest:引用NoArgTest

ScalaTest:引用NoArgTest
EN

Stack Overflow用户
提问于 2016-09-27 17:10:54
回答 1查看 266关注 0票数 1

我正在玩弄sharing fixtures,尤其是withFixture(NoArgTest)。但是,如果引用NoArgTest,我的代码将无法编译。

我唯一的依赖:

代码语言:javascript
复制
    <dependency>
        <groupId>org.scalatest</groupId>
        <artifactId>scalatest_2.11</artifactId>
        <version>3.0.0</version>
    </dependency>

我的代码尝试将NoArgTest引用为一个类型:

代码语言:javascript
复制
1    class Example {
2      def foo(test: org.scalatest.TestSuite) = "foo"
3      def bar(test: org.scalatest.TestSuite.NoArgTest) = "bar"
4    }

mvn编译:

代码语言:javascript
复制
[WARNING]  Expected all dependencies to require Scala version: 2.11.8
[WARNING]  org.scalatest:scalatest_2.11:3.0.0 requires scala version: 2.11.8
[WARNING]  org.scalactic:scalactic_2.11:3.0.0 requires scala version: 2.11.8
[WARNING]  org.scala-lang:scala-reflect:2.11.8 requires scala version: 2.11.8
[WARNING]  org.scala-lang.modules:scala-xml_2.11:1.0.5 requires scala version: 2.11.7
[WARNING] Multiple versions of scala libraries detected!

..。

代码语言:javascript
复制
[ERROR] Example.scala:4: error: object TestSuite is not a member of package org.scalatest
[ERROR] Note: trait TestSuite exists, but it has no companion object.
[ERROR]   def bar(test: org.scalatest.TestSuite.NoArgTest) = "bar"

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 18:00:41

您可以编写TestSuite#NoArgTest (这是独立于套件的所有NoArgTest的通用类型),如果您已经有一个实例suite: TestSuite,则可以编写suite.NoArgTest。请注意,如果suite是成员参数,则它们需要在单独的参数列表中:

代码语言:javascript
复制
def bar(suite: TestSuite)(test: suite.NoArgTest) = ...

有关更多详细信息,请参阅What are the differences between Scala’s inner classes and Java’s Inner/nested classes?的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39720637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档