问题标签 [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 投票
2 回答
17063 浏览

mocking - 具有多个期望()调用的 PHPUnit 模拟

使用 PHPUnit,我想知道我们如何从同一个存根/模拟中获得多个期望。

例如,我想测试模拟是否会display()调用该方法并返回 NULL。我还想测试该方法process()是否会被调用。

事实上我的测试叫做testProcessIsCalledIfDisplayReturnNull().

所以我需要在同一个模拟对象上设置 2 个期望,而手册对此并没有真正的帮助:(

0 投票
4 回答
53727 浏览

ruby - 使用 RSpec 测试哈希内容

我有一个这样的测试:

我知道,这很冗长。有没有更简洁的方式来表达我的期望?我查看了文档,但看不到在哪里压缩我的期望。谢谢。

0 投票
1 回答
1356 浏览

python - 使用 assertRaises - 处理传播的异常

我有一些代码在测试包装的异常,当它失败并且异常传播时,我认为错误消息和回溯不够详细,主要是因为它没有告诉我预期与测试相比,我想了解异常和期望的详细信息。

我调整了我的测试(参见下面的示例代码)。我想知道这种方法是否有效,是否有任何 Python 测试或模拟框架允许直接实现它?(目前我正在使用 unittest 和 mox)

这个问题的答案之一简要涉及在这种情况下使用 self.fail 的适当性,但并没有真正详细说明。我的假设是,如果我试图将测试限制在一个区域,我可以通过测试。

注意:如果您运行代码示例,它应该会失败,以演示我希望看到的行为。我正在使用 Python 2.7、Mox 0.5.3

0 投票
1 回答
4942 浏览

java - 当我尝试包含对模拟对象的期望时,此 SecurityException 的原因是什么?

我正在尝试在测试中使用模拟对象。但是,当我尝试列出模拟对象的期望时,会引发相同的异常。
以下是异常的堆栈跟踪:

执行以下代码时会发生错误:

这个异常的原因是什么?

0 投票
1 回答
3205 浏览

java - JMockit - 期望和静态方法

我正在尝试模拟一种方法以使其返回一个特定对象:

但我面临两个问题:

  1. 我在退货电话中收到“当前没有可用的调用”
  2. 如果我尝试添加结果变量,我会遇到编译问题。

我正在使用JDK1.5。有任何想法吗?

0 投票
1 回答
1409 浏览

ruby-on-rails - 预期响应为 <:redirect>,但为 <401>

我最近开始将我的应用程序中的一些标准请求转换为 XHR (Ajax) 请求。我正在更新我的 RSpec 测试以反映这一点,但遇到此错误消息:

我的规格看起来像:

test.log 文件条目如下所示:

这些是在未登录(未经授权)的用户的上下文中。当我将断言更改为:

我收到此错误:

以及相应的,无用的日志条目......

我想断言当一个未经授权的状态被赋予时,一个未经授权的状态被赋予。任何人都可以帮忙吗?

0 投票
1 回答
137 浏览

jmock - 保存期望的返回值

我想使用期望的返回值来增加一个期望。我有一个 m_accountProcessor 对象,它具有接口 createAccount 来创建一个新帐户并返回一个 Account 对象。我想保存这个对象并将其添加到编码函数调用的另一个期望中。如何保存价值?

0 投票
1 回答
478 浏览

ruby-on-rails - 在不嘲笑任何事情的情况下设定期望

使用 MiniTest::Spec 和 Mocha:

当我使代码正常工作时,此测试将失败,因为Device.expects(:scope_by_ip_list)还调用了stubs Device.scope_by_ip_list,并且由于我没有指定 a.returns(Devices.scoped)或类似的东西,它使用nil. 因此,在我的代码中,它正确地定义了一个设备列表,然后进行了进一步的操作,进一步的操作就会崩溃。

不过,我不想指定参数,因为我完全不在乎它返回什么.returns我根本不想存根该方法!我只是想对它设定一个期望,让它按原样运行。

有没有办法做到这一点?

(对我来说,说这样的话似乎很尴尬Device.expects(:foo).returns('bar')——当我说Model 期望 method时,我并不是说要存根该方法!我们可以说Device.stubs(:foo),如果我们想存根它。)

0 投票
1 回答
1016 浏览

probability - 不同投资组合的另一个方差和期望

A 和 B 是两个相互竞争的公司。投资者决定是否购买

(a) 100股A股,或

(b) 100 股 B 股,或

(c) 50 股 A 股和 50 股 B 股。

1 股 A 的利润是一个随机变量 X,分布为 P(X = 2) = P(X =-2) = 0.5。1 股 B 的利润是一个随机变量 Y,分布为 P(Y =4) = 0.2,P(Y = -1) = 0.8。

如果 X 和 Y 是独立的,计算策略 (a)、(b) 和 (c) 的总利润的期望值和方差。

--- 对于 A 和 BI 的 E(X),得到: EA(X) =(2)(.5) + (-2)(.5) = 0。EB(X) =(4)(.2 ) + (-1)(.8) = 0。

获得方差:EA(X^2)= (2^2)(.5) + (-2^2)(.5) = 0。EB(X^2)= (4^2)(.2) + (-1^2)(.8) = 3.2 + .8 = 4

VarA(X) = EA(x^2) - EA(X)^2 = 0 - 0^2 = 0 VarB(X) = EB(x^2) - EB(X)^2 = 4 - 0^2 = 4

a) 100 股 * X 利润 = 100X = A

E(A) = E(100x) = 100E(x) = 100 * 0 = 0 Var(A) = 100^2*Var(X) = 10,000 * 1 = 0

b) 100 股 * X 利润 = 100X = B

E(B) = E(100x) = 100E(x) = 100 * 0 = 0 Var(B) = 100^2*Var(X) = 10,000 * 4 = 40,000

c) 50 股 * X 利润 + 50 股 * X 利润 = 50X + 50Y = Z

E(Z) = EA(50x) + EB(50X)= 50EA(X) + 50EB(X)= 50*0 + 50* 0 = 0 Var(Z) = 50^2*VarA(X) + 50^ 2*VarB(X) =2500*0 + 2500 * 4 = 10,000

我不知道我的答案是对还是错,但我真的很怀疑自己。任何人都可以确认或纠正我吗?谢谢!

0 投票
2 回答
1009 浏览

ruby - should_receive 会做我没想到的事情吗?

考虑以下两个简单模型:

以及以下 Rspec 测试:

当我运行这个测试(或者,更确切地说,一个类似的测试)时,存根似乎没有工作:

正如您可能猜到的那样,失败出现在上面标有“此处错误”的行上。当该should_receive行被注释掉时,这个错误就消失了。这是怎么回事?