加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

当它是’Suites`的一部分时,如何避免两次执行ScalaTest规范

发布时间:2020-12-16 09:53:05 所属栏目:安全 来源:网络整理
导读:我正在使用 ScalaTest集成测试Play Framework应用程序.这个: org.scalatest.Suites(列表中的规范) 执行规范列表中的每个测试.但是,如何避免每个规范也独立执行?他们被处决了两次. 一个例子: import org.scalatest.{Suites,FreeSpec}class BrowserSuiteSpe
我正在使用 ScalaTest集成测试Play Framework应用程序.这个:
org.scalatest.Suites(列表中的规范)
执行规范列表中的每个测试.但是,如何避免每个规范也独立执行?他们被处决了两次.

一个例子:

import org.scalatest.{Suites,FreeSpec}

class BrowserSuiteSpec extends Suites(new AnonLoginSpec)
class AnonLoginSpec extends FreeSpec { ... }

现在我的AnonLoginSpec执行两次 – 首先作为BrowserSuiteSpec的一部分,然后独立执行,因为它是一个FreeSpec类. (将AnonLoginSpec更改为特征会导致编译错误.)

将AnonLoginSpec重命名为AnonLoginSpeX没有任何效果 – 它仍然被执行两次.
(我想也许ScalaTest正在寻找“Spec”后缀,我认为Specs2会这样做.)

The documentation没有提到这个问题(据我所知).

解决方法

如果您使用的是ScalaTest 2.0.M5或更高版本,则可以使用 @DoNotDiscover对每个套件进行批注.或者,您可以绕过发现,并通过将-s MainSuite传递给ScalaTest运行程序来指定主套件类名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读