关于在e2e测试中使用mock stripe

siotufzp  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(399)

我遇到了一个女孩(https://github.com/stripe/stripe-mock)最近,对于本地测试,

public PaymentMethod createPaymentMethod(Card card) {
      var paymentMethodParams =
          PaymentMethodCreateParams.builder()
              .setType(Type.CARD)
              .setCard(
                  CardDetails.builder()
                      .setNumber(card.getNumber())
                      .setExpMonth((long) card.getExpiryMonth())
                      .setExpYear((long) card.getExpiryYear())
                      .setCvc(card.getCvv())
                      .build())
              .build();
      var response = testMode? "Make API call to mock stripe with params" : PaymentMethod.create(paymentMethodParams);
      return response;
  }

现在我不想用http客户机和请求体手动调用stripemock服务器,有没有办法改变 RequestOptions 或者使用不同的依赖项进行调用?
基本上,我不想做,比如

String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_methods/%s", ApiResource.urlEncodeId(paymentMethod)));

只是以某种方式覆盖条带基api url。 Stripe.overrideApiBase(); 是一些有用的东西,但它对stripejava库是静态的,我希望在运行e2e测试时,正常的stripe调用能够通过。

3yhwsihp

3yhwsihp1#

Stripe.overrideApiBase() 很可能是你想要的;您只需要将应用程序配置为仅在运行端到端测试时覆盖它。

相关问题