Ran*_*ith 6 java junit spring jmockit mocking
我的代码:
class A extends X {
@Autowired
B b;
@Override
method() {
//do something
b.callMethodInB;
//do something
}
}
class B extends X {
@Autowired
C c;
@Override
method() {
//do something
c.callMethodInC;
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
我需要测试method()在A.那么如何模拟B.我正在使用Junit4和Jmockit.
尝试这样的事情:
import org.junit.*;
import mockit.*;
public class ATest
{
@Tested A a;
@Injectable B b;
@Test
public void testMethod()
{
a.method();
new Verifications() {{ b.callMethodInB(); }};
}
}
Run Code Online (Sandbox Code Playgroud)
JMockit A使用注入的B实例(来自模拟字段b)自动实例化,将其设置a为测试类中的字段.这与使用的DI框架(Spring)无关.
| 归档时间: |
|
| 查看次数: |
4990 次 |
| 最近记录: |