Pact-JVM上的@State方法中未正确模拟我的MockBeans

时间:2018-08-10 03:32:08

标签: pact pact-jvm

我正在使用pact-jvm-provider-spring来验证我的提供程序,像这样定义我的提供程序测试类:

@RunWith(SpringRestPactRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
class PactTests { 
    @MockBean
    StudentService studentService

    @TestTarget
    @SuppressWarnings(value = "VisibilityModifier")
    public final Target target = new HttpTarget(8000);

    @State("has students")
    public void hasStudents() {
        when(studentService.getStudent(anyString())).thenReturn(createStudent());
    }

问题是,当我的控制器使用studentService来获取学生时,它会返回null。不知道我在这里想念什么吗?

PS:如果我添加一个@Before方法,然后在其中而不是@State内放置模拟代码,它不会返回null。这很奇怪

0 个答案:

没有答案