jor*_*rfx 1 java junit unit-testing mockito
例如:
@RunWith(MockitoJUnitRunner.class)
public class ClientFormServiceTest {
@Mock
ClientFormService clientFormService;
public class GetNewClientFormTest {
@Mock
protected ClientForm result;
@Before
public void given() {
result = clientFormService.getNewForm();
}
@Test
public void should_do_something() {
}
}
public class CreateClientFormTest {
@Mock
protected ClientForm clientForm;
@Before
public void given() {
clientFormService.createForm(clientForm);
}
@Test
public void should_do_something() {
}
}
Run Code Online (Sandbox Code Playgroud)
}
这是我想要做的但是如果嵌套到类中我不能运行单元测试.
我是JUnit TestRunner的作者,junit-nested,我认为可以做你想做的事:https: //github.com/avh4/junit-nested
但是,从您的示例中,您不清楚为什么需要嵌套测试.使用它们的典型原因是共享设置行为,但您应该考虑是否更适合使用单独的测试类.
在任何情况下,这里都是如何使用junit-nested来实现的:(由于Nested是测试运行器,你必须使用MockitoAnnotations.initMocks()而不是Mockito测试运行器.)
import net.avh4.test.junit.Nested;
@RunWith(Nested.class)
public class ClientFormServiceTest {
@Mock
ClientFormService clientFormService;
@Before
public void given() {
MockitoAnnotations.initMocks(this);
}
public class GetNewClientFormTest {
@Mock
protected ClientForm result;
@Before
public void given() {
MockitoAnnotations.initMocks(this);
result = clientFormService.getNewForm();
}
@Test
public void should_do_something() {
}
}
public class CreateClientFormTest {
@Mock
protected ClientForm clientForm;
@Before
public void given() {
MockitoAnnotations.initMocks(this);
clientFormService.createForm(clientForm);
}
@Test
public void should_do_something() {
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3309 次 |
| 最近记录: |