我正在编写一个测试用例,从strutsspringtestcase扩展并调用以下操作:
这是登录操作
public class LoginAction extends ActionSupport
{
@Autowired(required = true)
@Qualifier("DependencyClass")
protected DependencyClass dependencyObject;
public void execute()
{
return dependencyObject.method1();
}
}
另外,我正在使用mockito创建模拟对象,如下所示:
public class LoginActionTest extends StrutsSpringTestCase
{
@Mock
DepenencyClass mockedObject;
@InjectMocks
LoginAction loginAction;
@Before
public void setUp() throws Exception{
super.setUp();
when(mockedObject.Method1()).thenReturn(result);
}
public void testLoginAction throws Exception{
`ActionProxy proxy = getActionProxy("/login");
LoginAction action = (LoginAction) proxy.getAction();
String result = proxy.execute();`
}
}
我的期望是该操作应该使用mocked方法而不是原始方法。实现这一点肯定存在差距,但任何帮助都应该受到赞赏。
答案 0 :(得分:0)
您需要让您的动作类使用您的模拟对象。使用setter或@InjectMocks
注释将该对象放入您的操作类。