问题标签 [expectations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1136 浏览

powermock - 如何在 powermock 中期待一个新的 arraylist 对象?

我有一个代码,它具有以下两个不同类型的新 List 对象:

如何使用 PowerMock.expectNew() 返回两个不同的 ArrayList 对象?像..

我们如何在上述语句中区分对象对应于哪个语句?

谢谢!

0 投票
0 回答
553 浏览

ruby-on-rails - RSpec 参数约束任意数量的任何东西

如何正确编写匹配第一个参数并忽略其他参数的期望?可以有任意数量的其他参数。

我收到了这个错误:

为什么它与论点不匹配?

你能为此建议一个自定义匹配器吗?

0 投票
1 回答
4874 浏览

java - JMockit java.lang.IllegalStateException 的 JUnit 测试用例失败:记录期望的上下文无效

我正在对使用单例类 HiveUtil 的类 PartitionFilter 进行单元测试。

我的测试用例在运行时出现错误“java.lang.IllegalStateException:用于记录期望的无效上下文”。关于为什么会发生这种情况的任何解释?

这是我的 pom.xml 的相关部分:

我试图将 jmockit 依赖项放在 pom 中的 junit 依赖项之前。那没有用。

更多研究表明我没有在课程开始时使用 @RunWith(JMockit.class) 注释。但是,当我尝试使用它时,出现错误“无法将类解析为类型”。我做了所有相关的进口。

我究竟做错了什么?

0 投票
1 回答
509 浏览

mocking - PHPUnit:当使用不同的参数多次调用相同的存根方法时,测试中忽略的期望顺序

我有一个方法(我们称之为 method2)多次调用另一个方法(我们称之为 method1),但参数不同。

这是类,MyClass.php:

在测试时,我为 method1 创建了一个存根,以控制它被调用的方式/时间以及返回的内容。在我对 method2 的测试中,我遵循在 method2 中执行代码的顺序。

这是测试类 MyClassTest.php:

在我的测试中,PHPUnit 似乎没有遵循这个顺序,并且被方法 1 的最后一个(在这种情况下是第二个)调用卡住了:

有 1 次失败:

1) MyClassTest::method2_was_called_successfully_with_one_and_then_two 方法名称的期望失败等于调用 1 次时调用 MyClass::method1('one') 的参数 0 与期望值不匹配。断言“一”包含“二”失败。

/path/to/the/files/MyClass.php:14 /path/to/the/files/MyClassTest.php:28

失败!测试:1,断言:0,失败:1。

关于我在这里遗漏/做错的基本事情有什么想法吗?

0 投票
2 回答
23668 浏览

mocking - JMockit 期望 API:如何在方法/构造函数调用时抛出异常

在使用 JMockit 时,我想在构造函数调用时抛出异常,如下所示:

0 投票
0 回答
152 浏览

ruby-on-rails-4 - 在调用后显式验证 mocha 期望

我正在使用菠菜钩Mocha::Hooks#mocha_verify,在某些情况下效果很好。但是,有很多时候我想在一条数据上更新一个值后验证一个期望。例如,after_scenario

现在我必须在测试的“行为”部分运行之前设置期望,所以我必须做一些类似的事情:

里面的测试数据@my_model还是有的nil checked_at,因为测试的“act”部分还没有运行,但是我想验证一下第一个参数是否正确。我看不到这样做的方法,但是能够在测试的“行为”部分之后验证调用会很好,例如:

0 投票
1 回答
675 浏览

java - jmock 重置对象状态

我有HttpServletRequest模拟对象,我想getHeader("someHeader")多次重置。例如:

在这里做点什么:

getHeader仍然返回null,一旦定义了对象状态,我们就不能改变它吗?我希望它为getHeader.

0 投票
1 回答
189 浏览

php - 未满足 Mock 对象的 PHPunit 期望

这是我的课:

这是我的测试:

测试返回:

方法名称的预期失败等于调用 2 次。方法预计被调用 2 次,实际上被调用 0 次。

我的问题是:我遇到过几次这样的事情,但每次我都无法理解发生了什么。为什么第一个期望是正确的,第二个是不正确的?

更新.1

我忘了说我几次遇到这种情况。这是我注意到的。使用 xDebug 我在测试中看到了

moduleManager 对象在 unittest 对象和观察者对象内部具有相同的缓存。如果我在 moduleMatcher 上应用 smth - 它出现在两个地方

$unittest->yesNo 的哈希值与 $observerObject 哈希值不同。如果我为某些方法设置匹配器 - 它仅适用于 unittest 类!

为什么会这样?如何防止创建不同的对象

Upd.2 找到了!

当您通过对象管理器创建对象时

变量 'moduleManager' 和 'yesNo' 应该与构造函数中的变量相同:

这是phpunit检查的代码:

0 投票
1 回答
130 浏览

expectations - 平均售价的期望值

我有 n 个价格为 P1、P2...Pn 的商品。一件物品将以概率 p 售出。我需要找到平均售价的期望值的表达式。因为,这些物品可以以 2^n 种方式出售,这似乎非常令人生畏。

我的看法 所有物品都以概率 p^n 出售。然后我可以选择未售出的物品。这可能以 n 种方式发生。这会将 n 个表达式添加到 EV 表达式中。

然后 2 件物品可能仍未售出。这会将 nC2 项添加到 EV 表达式中。依此类推。

它的表情似乎很快变得很大。

我有什么明显的遗漏吗?

0 投票
2 回答
6151 浏览

segmentation-fault - EXPECT_CALL 上的 gmock Segmentationfault

在 cygwin 上,EXPECT_CALL 给出分段错误。回溯显示:

看起来像一些 gmock 内部链接列表损坏,但由于我的测试并不复杂,所以连接了:

模拟类:

模拟类标题:

模拟类主体:

通过 gmock 论坛和这里搜索,还没有任何线索。直到今天我都在使用最新的。

请给我一些想法:)谢谢。

射线


抱歉,伊恩回复晚了。这是我的编译日志,所有 cc 文件的标志相同:

链接命令:

关于 NSEBase 中的 ip_, port_ 字符串引用,你是对的,但它还没有相关性,NSEBase 现在是一个存根,它仍然崩溃。

完整的崩溃调用跟踪:

11 到 #13 似乎增加了对 gmock 内部结构的期望,其中链接列表出现问题。


现在简化为一个源文件以使事情变得清晰。

gmtest.cc

并编译链接:

砰!还是崩溃!任何人都可以验证这一点吗?

射线