弹簧和契约的CDC测试中出现“找不到与方法匹配的测试”错误

时间:2019-11-15 00:43:06

标签: spring-test pact pact-jvm

我用pact和spring进行了CDC提供程序测试,我能够生成pact文件, 但是,当我使用pact json进行提供程序测试时,它显示在错误以下:“未找到与方法runTest匹配的测试”,这是我的代码:

@RunWith(SpringRestPactRunner.class)
@Provider("myProvider")
@PactFolder("target/pacts")
@WebMvcTest(MyController.class)
public class ProviderTest {
    @InjectMocks
    private MyController myController; # the controller I want to test
    @MockBean
    private MyService myService; # the dependency of controller

    @TestTarget
    public final Target target = new SpringBootHttpTarget();

    @State("my_state")
    public void runTest() {

    }
}

和pact文件是这样的:

... other parts
"providerStates": [
            {
                "name": "my_state"
            }
        ]
... other parts

似乎我的测试找不到“ my_state”?

编辑: 这是我的演示项目,请帮助看看,谢谢! https://github.com/wuhuanxing/pact_demo

1 个答案:

答案 0 :(得分:0)

该协议使用的是协议规范的版本3。确保您使用的是最新版本的pact jar,以确保它支持版本3。如果可以在Github存储库中创建可复制的示例,则可以在slack.pact.io上寻求帮助。