在 scalatest 中用什么代替符号?

2023-11-22

在 scalatest 中,您应该能够使用如下符号测试布尔属性:

iter shouldBe 'traversableAgain

但这种表示法在最新版本的 scala 中已被弃用,所以现在你应该这样写:

iter shouldBe Symbol("traversableAgain")

这有点难看。还有更好的选择吗?


考虑BePropertyMatcher它提供类型安全的谓词匹配语法

iter should be (traversableAgain)

例如

import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.{BePropertyMatchResult, BePropertyMatcher}
import org.scalatest.matchers.should.Matchers

trait CustomMatchers {
  val traversableAgain = new BePropertyMatcher[Iterator[_]] {
    def apply(left: Iterator[_]): BePropertyMatchResult = 
      BePropertyMatchResult(left.isTraversableAgain, "isTraversableAgain")
  }
}

class BePropertyMatcherExampleSpec extends AnyFlatSpec with Matchers with CustomMatchers {
  "BePropertyMatcher" should "provide type-safe checking of predicates" in {
    Iterator(42, 11) should be (traversableAgain)
  }
}

还有一个相关问题替换使用符号作为 2.13+ 的属性匹配器 #1679

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 scalatest 中用什么代替符号? 的相关文章

随机推荐

  • 如何在 Google App Engine 模板系统中注册自定义过滤器?

    根据 Django 文档 我已经注册了我的过滤器 from google appengine ext webapp import template register template create template register reg
  • 如何在不使用 Vidalia 的情况下强制 Tor 使用新身份?

    我在用Tor在我的项目中 如何强制 Tor 使用我的程序中的新身份 打开与 Tor 服务控制端口的 telnet 连接并发送SIGNAL NEWNYM 我希望你可以使用任何 Delphi telnet 库 我的第一选择是Indy 确保你有最
  • 从finally块返回时Java的奇怪行为

    试试这段代码 为什么 getValueB 返回 1 而不是 2 毕竟 increment 函数被调用了两次 public class ReturningFromFinally public static int getValueA This
  • 每个用户仅允许一次会话

    我们有一个使用 struts2 spring 和 hibernate 开发的 Web 应用程序 该应用程序需要一个用户只能从一个浏览器登录的功能 假设用户 x 在 pc 1 浏览器 ff 上登录 那么他无法从任何其他地方登录 我尝试通过实现
  • 从 C# 调用 Delphi DLL 会产生意外结果

    我有一个不是我编写的 Delphi DLL 但需要从 C ASP NET 3 5 应用程序调用 这是我从开发人员那里得到的函数定义 function CreateCode SerialID String StartDateOfYear Ye
  • Django Celery 实现 - OSError:[Errno 38] 函数未实现

    我安装了 django celery 并尝试启动工作服务器 但收到一个 OSError 消息 表明函数未实现 我在 VPS 上运行 CentOS 版本 5 4 最终版 broker gt amqp guest localhost 5672
  • 对数字字符串的 ArrayList 进行排序

    最快的排序方法是什么ArrayList
  • 用户窗体未触发初始化或激活事件

    我在工作表中保留了一个用户窗体控制按钮来启动一个宏 该宏又显示一个用户窗体 在窗体中我希望在复选框中显示打开的文件 使用工作簿集合 我希望运行一个执行的宏仅对用户选择的文件执行操作 因此 对于工作表中的按钮 我分配了以下宏 Private
  • Jackson 注释被忽略

    我正在尝试使用 Jackson 注释来重新命名序列化过程中生成的一些 json 标签 所有注释都编译良好 当我运行时 杰克逊序列化可以正常工作 但所有杰克逊注释都被完全忽略 即使像 JsonIgnore 或 JsonProperty 这样的
  • 当后端在 Docker 容器中运行时,Keycloak 令牌验证失败

    我正处于构建网络应用程序的早期阶段 我打算使用 Keycloak 作为身份提供者来保护后端 在我的本地计算机上 我将 Keycloak 和后端作为 docker 容器运行 但在不同的网络上 因为最终在生产中 我希望运行 Keycloak 的
  • Flutter:http get 请求不适用于 apk 发布

    关于我的问题有几个类似的问题 但所有这些问题中给出的解决方案都不适合我 所以我尝试用我的问题的详细信息打开另一个问题 我希望有人能帮助我 Context 我正在学习 flutter 和 dart 作为初学者 我想实现一个使用 CRUD 操作
  • 条形图图例上的框架边框可以删除吗?

    我正在 Mathematica 中创建用于各种绘图 图表绘制的应用程序 最终它将有一个 GUI 但第一步是获得正确的代码 并且足够简单以便 GUI 可以管理 我很难将图例设置为没有框架 这是一个最小的例子 有一些选项BarChart已经定制
  • Android将CID位置转换为坐标

    我构建了一个 Android 应用程序 它可以处理来自 Google 地图的共享意图并显示它的坐标 问题是他们发送了一个短网址 我用 Google 的 url Shortner api 进行解码 在某些情况下 结果长链接是这种类型的 谁能帮
  • “指向未初始化的字节”Valgrind 错误

    我一直在使用Valgrind在我的代码中查找内存泄漏 虽然没有发现内存泄漏 但报告了一些错误 所有这些错误都源自单个函数 类方法 17043 ERROR SUMMARY 10100 errors from 3 contexts suppre
  • 让 Github 在收到更新时推送到远程服务器

    让 Github 自动将任何更新推送到远程服务器的设置是什么 这对于维护 Github 上的代码库以及让网站运行该代码库非常有用 我的存储库位于我自己的计算机上 这就是我工作的地方 我将更改提交到本地存储库 并将它们推送到我的 Github
  • 什么是堆中的类型对象

    我知道当在堆中创建对象时 它们还有额外的两个字段 同步块索引 类型对象指针 所以我想知道Type Object是什么时候在Heap内存中创建的以及它保存什么样的数据 它只代表Type的元数据 我还没有找到更多关于这方面的细节 Type 对象
  • ASP MVC3 在actionlink中插入html标签

    我是 ASP MVC3 的新手 我正在使用 Razor 引擎 我的问题是我已经以表单构建了主导航
  • 如何获得行排名?

    HI 我昨天实际上发布了类似 或相同 的问题 但我认为我需要发布一个新问题 因为我有简短但明确的问题 我有下表 id point 1 30 2 30 3 29 4 27 5 28 6 26 我想要的是 获取所有用户按排名排序 用户 1 和
  • 多个 OpenGL 视图 (Cocos2D)

    Note 任何可以帮助我正确解决这个问题的人都会得到100点赏金 在我的应用程序中 我将 UIKit 与 Cocos2D 混合在一起 我使用 addSubview 和 removeFromSuperview 调用做了一些简单的自定义视图动画
  • 在 scalatest 中用什么代替符号?

    在 scalatest 中 您应该能够使用如下符号测试布尔属性 iter shouldBe traversableAgain 但这种表示法在最新版本的 scala 中已被弃用 所以现在你应该这样写 iter shouldBe Symbol