java.lang.NoClassDefFoundError
いくつかのテストを数回だけ実行するとエラーが発生します。
セットアップは次のとおりです。テストは、Scala と Java のサービスを使用して Scala で記述されます。アリとアイビーも使用。
Order.scalaは次のようになります。
object Order extends JdbcEnabled {
val orderServiceClientIpAddress = Network.localIpAddress
val PersonalOffersSaleId = "123"
lazy val checkoutClient = new CheckoutClientImpl(YamlConfigFactory.loadConfig(
this.getClass.getClassLoader.getResourceAsStream("core_config.yaml")
).getRequiredSubConfig("core").getRequiredSubConfig(Environment.HostEnv))
val storeList = new JLinkedList[Store]()
storeList.add(OrderHelper.getSelectedStore)
var skuList = OrderHelper.getAvailableSkus
val skusForInternationalOrders = skuList
def createOrder(){...}}
TestNG で実行されている多くのテストがあります。すべてのテストが問題なくパスすることもありますが、この例外で失敗することもあります。
テストが失敗したときに Order API を呼び出す方法のスニペットを次に示します。
val orderNumber = Order.createOrder()
これは、テストが失敗したときのスタック トレース全体です。
java.lang.NoClassDefFoundError: Could not initialize class com.api.Order$
at com.CreateOrder.setUpOnce(CreateOrder.scala:35)
そのクラスの 35 行目、CreateOrder.scala は次のとおりです。
val orderNumber = Order.createOrder()