- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
scalaVersion := "2.10.1"
"org.specs2" %% "specs2" % "1.13" % "test"
我的 spec2 测试:
package com.mycompany.dataminer.parser
import org.specs2.mutable.Specification
case class Product(productID:String)
class SimpleTest extends Specification {
"product" should {
"have id = 123" in {
var product1 = Product("123")
product1 must not beNull
product1.productID must_== "123"
var product2 = Product("123")
product2 must not beNull
product2.productID must_== "123"
var product3 = Product("123")
product3 must not beNull
product3.productID must_== "123"
}
}
}
结果:
scala: type mismatch;
found : String
required: org.specs2.matcher.Matcher[com.mycompany.dataminer.parser.Product]
product1.productID must_== "123"
^
一旦我编写了这段代码,它就可以正常工作,直到我添加以下行:
product1 must not beNull
product2 must not beNull
product3 must not beNull
最佳答案
这是 Scala 的表达式解析(半列推理)和 specs2 建模匹配器的方式的问题。
带有第一个匹配器的行 product1 must not beNull
被解释为 product1.must(not) beNull
。这意味着 beNull
处于不带参数的方法调用的位置,但如果它有参数,则它们必须是 Matcher[Product]
类型。这是因为整个表达式都是 MatchResult[Product]
类型,并且 MatchResult
特征有一个 apply
方法。
结果是 Scala 推断第一行表达式的参数在第二行 product1.productID
并且是 String
类型,这是意外的。
对于这种情况有 3 种解决方法:
换行符
product1 must not beNull
product1.productID must_== "123"
一个半栏
product1 must not beNull;
product1.productID must_== "123"
带括号的不是
product1 must not(beNull)
product1.productID must_== "123"
这将在下一个 specs2 版本中通过将 MatchResult[T].apply
方法设为私有(private)来缓解,以便将编译错误转换为 method apply in trait MatchResult cannot be accessed in org.specs2.matcher.MatchResult[Product]
并在此方法的 Scaladoc 中添加潜在问题的描述。
关于Scala spec2 object.productID must_== "123"失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264269/
我正在尝试查找哪些产品的附加成分最多(糖浆、浓缩咖啡等)。我该怎么做?我可以找到个人销售情况,但如何在咖啡饮料中添加浓缩咖啡? Select p.ProductName, TotalADDON = S
以下是我的看法。 @model List @using System.Linq @foreach (var item in Model) {
我有一个动态产品 xml 文件,我需要从外部源加载该文件并将其保存在数据库表中。现在我想让包含当前产品的 xml 文件与表中的内容保持同步。所以我想确保我在 xml 和 db 表中使用 ID 更新产品
正则表达式必须满足这些愿望。 大写字母 A。然后是 3 个或更多可选字符。 正则表达式必须以大写 X 或 Y 或 Z 结尾。 必须填写: A3546sdfsdf6546sdf654Z A123qze4
我在测试真实产品时遇到错误。当我单击购买按钮时,出现错误“此版本的应用程序未配置为市场计费”。 我用这个例子https://github.com/robotmedia/AndroidBillingLi
我目前为应用内结算中可能的状态更新(从购买状态到取消状态等)设计我的实现策略,这确实令人头疼,并且存在困惑: 我获取 getPurchases()在应用程序中。这给了我 INAPP_PURCHASE_
我有一个实体,该实体使用 FK ProductId 建立关系,然后我使用复合键 ProductId 和 VehicleId 在同一实体上建立另一个关系。这是行不通的。我明白了 One or more
我有一个获取 ProductName 的网络服务,我需要从 AutoExtender 下拉的产品链接到每个产品的单独页面。现在 URL 被 ProductName 填充,而不是 ID: Default
我对这一切都很陌生。我为在线商店设置了包含以下表格的数据库:Customer、Product、Order、Order_Details 和 Sales。我遇到的问题是 Order_details 表。例
我有一段旧代码使用 WQL 的查询从 Win32_WindowsProductActivation 类中获取。 SELECT * FROM Win32_WindowsProductActivation
我通过蓝牙连接到设备。我使用 BluetoothDevice.class 获取 mac 地址和名称。但我必须知道 VendorID、ProductID。在 iPhone 上是可能的。Android 有
在尝试设置 mojoPortal 时在 Web 平台安装程序中设置自定义提要后,程序崩溃并出现错误 ProductId NETFramework4 not found: 当尝试再次启动该程序时,同样的
这就是我到目前为止所做的!! 创建数据库MyWebDB; 创建表用户 ( UserID Int Primary Key, EmailAddress Varchar(50) Not Null,
11113 43
scalaVersion := "2.10.1" "org.specs2" %% "specs2" % "1.13" % "test" 我的 spec2 测试: p
scalaVersion := "2.10.1" "org.specs2" %% "specs2" % "1.13" % "test" 我的 spec2 测试: p
我想在 WIX 中制作一个安装包,它将升级我产品的先前版本。为此,我使用 MajorUpgrade。 问题是 - 我想在我的应用程序的整个生命周期内保留 ProductId,而不进行任何更改。但是 M
我的观点如下: Features Items
我在解析本地存储中的对象数组的函数时遇到异常错误。 尝试:从本地存储中获取对象并将它们的 productID 和 selectedQty 属性值解析为 int。 当我记录它们的 typeof 值时,即
我有 2 个表,一个用于产品销售,另一个用于供应商的产品订单。 销售表包含:(产品 ID、销售日期、客户 ID 等) 订单表包含(产品 ID、订单日期、供应商 ID 等)。 销售表中的每个产品都被销售
我是一名优秀的程序员,十分优秀!