我正在为编写集成测试的软件编写测试。即时通讯使用Jmock来模拟一些自定义请求对象,我遇到了一些问题 我想做以下事情:
setupMethod
context = new Mockery()
{
{
setImposteriser(ClassImposteriser.INSTANCE);
}
};
test = context.states("test");
context.checking(new Expectations()
{
{
Setup all expectations to default values
}
});
然后在我的测试用例中,我想覆盖这样的特定考试:
TestCase0
test.become("testCase0");
context.checking(new Expectations()
{
{
add new expectations with when state.is("testCase0")
that overwrites specific default expectations
}
});
当我尝试使用我的testCase0期望时,他们会返回我指定的内容 默认的期望。看起来我对状态的使用似乎什么都没做?
答案 0 :(得分:1)
好的,我已经找到了如何为追随我的人解决这个问题。
您可以在每个测试用例中设置模拟,并具有特殊的期望。然后,您调用一个设置所有默认期望的方法。由于顺序,默认值不能覆盖您在测试用例中设置的期望。