我正在编写一个集成测试,模拟来自前端的一系列操作。我正在设定这样的期望:
context.checking(new Expectations() {{
States state = states("service");
allowing(service).getPendingTxn();
will(returnValue(null));
when(state.isNot("has-pending-txn"));
one(service).createPendingTxn();
will(returnValue(txnId));
then(state.is("has-pending-txn"));
allowing(service).getPendingTxn();
will(returnValue(transaction));
when(state.is("has-pending-txn"));
}});
然后,测试中的代码按此顺序进行调用。
这对我不起作用。看起来service.getPendingTxn()返回一个jMock null对象,而不是提供的值。当我在期望之后同时写()和(...)时,我认为我做错了什么,但我不确定。
这里有什么我想念的吗?
答案 0 :(得分:0)
Per Duncan的建议,答案是,这正是你使用状态的方式。我在测试中遇到另一个问题,我错误地认为与状态有关。