java.lang.NoClassDefFoundError
仅在某些时候运行某些测试时出现错误。
设置如下:测试是用 Scala 编写的,服务是用 Scala 和 Java 编写的。也使用蚂蚁和常春藤。
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()