- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于jasmine.addMatchers
的快速了解。使用 git 的最新 Jasmine 构建,似乎执行自定义匹配器的格式与我在“Jasmine JavaScript 测试”书中看到的代码有很大不同。书中的代码如下:
this.actual or maybe even this.isNot
新格式类似于:
compare: function (actual, expected) {
return {
pass: some true or false statement...
}
}
因此,在这种情况下,“this.actual”实际上是传入的参数“actual”,这很酷。如果我们调用一个新的匹配器,例如:
,访问 isNot 属性怎么样?expect(investment).not.toBeAGoodInvestment();
因此,在“toBeAGoodInvestment”主体内,我们应该能够访问“isNot”属性。不知道如何使用新格式做到这一点。我想出了如何将 this.message 从旧方式设置为新方式,如下所示:
return {
pass: some statement...,
message: 'some message'
}
我们希望在 jasmine 报告器中显示的消息将根据“isNot”的设置而动态变化。
最佳答案
在深入研究实际的 Jasmine.js 源代码后,我发现参数被传递到自定义匹配器的比较函数中,事实上,“isNot”根本没有进入。 “this.isNot”在 Jasmine 源本身的“Expectation.prototype.wrapCompare”函数的上下文中可用,但真正需要它的是我创建的自定义匹配器。
所以现在在这个wrapCompare函数中,我只是在“if”语句中添加了args.push语句,如下所示:
if (this.isNot) {
//-- Added this line
args.push(this.isNot);
matcherCompare = matcher.negativeCompare || defaultNegativeCompare;
}
现在,调用匹配器,我可以这样做:
expect(investment).not.toBeAGoodInvestment();
然后实际的匹配器看起来像这样:
toBeAGoodInvestment: function () {
return {
compare: function (actual, isNot) {
return {
pass: actual.isGood(),
message: 'Expected investment to be a ' +
((isNot) ? 'bad' : 'good') + ' investment'
}
}
};
}
这是一个很好的小研究任务,可以弄清楚 Jasmine 在幕后做了什么。
如果有任何其他方法可以将“isNot”注入(inject)到比较函数中,请告诉我。
关于javascript - JasmineJS 'isNot' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843768/
关于jasmine.addMatchers的快速了解。使用 git 的最新 Jasmine 构建,似乎执行自定义匹配器的格式与我在“Jasmine JavaScript 测试”书中看到的代码有很大不同
If Object.Value IsNot "Something" Then 你能做到这一点,还是在某些情况下它不起作用?不确定这是否应该只用于整数和 bool 值。 谢谢! 最佳答案 我不确定这是否
我见过类似的问题,因为我必须使用 VB.net 来完成一个项目,所以我遇到了相当简单的问题。 If (myValue IsNot Nothing) And (myValue.Length > 12)
我正在修改一些旧的 VB 代码,如果捕获到异常,我希望函数能够提前返回,但如果它是 System.UnauthorizedAccessException该功能应该继续。只是为了不让我收到 XY'ed
我正在处理一个必须验证参数是否为空的条件。让我们假设参数是 Email。我必须检查向内参数 Email 是否为空。我可以通过多种方式做到这一点,但我不确定要继续使用哪一种。 我正在考虑从以下语句中检查
这里有没有人使用 VB.NET 并且强烈偏好或反对使用 Not foo Is Nothing而不是 foo IsNot Nothing ?如果是这样,为什么? 例如 If var1 IsNot Not
最近我为 jaxb 生成的元素制作了一个自定义匹配器,并遇到了这种情况: 前提条件: 我有一个自定义匹配器,它使用重写方法describeTo和describeMismatch(当然还有匹配.....
在VB中是否有任何情况x = Nothing与 x is Nothing 不一样? 另外,x <> Nothing对比 x IsNot Nothing 我认为它们完全相同..但只是想确定一下。 最佳答
嗨,我是非常新的 Angulay js Ionic 开发。我尝试在单击按钮时进行基本导航。但是当我单击 Firebug 控制台中的按钮时,我收到此错误。我想在点击后导航到搜索页面 错误:$state
IsNot Nothing很常见,但它是双重否定 =o 我想用 Exists反而。有什么办法可以在我的 VB 词汇表中添加关键字吗? 现在,我写了一个扩展,添加 _Exists()作为每个对象的属性。
我想从数据库中获取除 2 之外的所有用户。 我曾经使用以下代码获取除一个之外的所有内容: $users = User::where('name', '!=','name1')->get(); 但我不确
我们有一个带有隐藏字段的 ASP 页面。该字段存储从数据库中删除的选定值: 同一页面会生成一个弹出窗口,其中包含一个删除按钮 - 单击此按钮“设置”此字段并触发服务器代码: ' /> 服务器代码已经
我是一名优秀的程序员,十分优秀!