当前位置: 首页 > 知识库问答 >
问题:

如何修复“Kotlin.UninitializedPropertyAccessException:lateinit属性mockNetwork尚未初始化”?

左丘阳晖
2023-03-14

我试图传递IOUFlowIssueTest,但给我的错误是MockNetwork没有初始化,而它已经初始化了。

class IOUIssueFlowTests {
    lateinit var mockNetwork: MockNetwork
    lateinit var a: StartedMockNode
    lateinit var b: StartedMockNode

    @Before
    fun setup() {
        mockNetwork = MockNetwork(listOf("net.corda.training"),
                notarySpecs = listOf(MockNetworkNotarySpec(CordaX500Name("Notary","London","GB"))))
        a = mockNetwork.createNode(MockNodeParameters())
        b = mockNetwork.createNode(MockNodeParameters())
        val startedNodes = arrayListOf(a, b)
        startedNodes.forEach { it.registerInitiatedFlow(IOUIssueFlowResponder::class.java) }
        mockNetwork.runNetwork()
    }
    @After
    fun tearDown() {
        mockNetwork.stopNodes()
    }

UninitializedPropertyAccessException:lateinit属性mockNetwork尚未初始化

共有1个答案

融建树
2023-03-14

我不得不稍微猜测一下:我看到的唯一可能导致uninitializedPropertyAccessException的位置是在您的teardown方法中,以防您的MockNetwork构造函数引发异常。

从Kotlin1.2开始,您可以检查lateinit变量的初始化状态。因此您可以执行以下操作:

@After
fun tearDown() {
    if(::mockNetwork.isInitialized) {
        mockNetwork.stopNodes()
    }
}
 类似资料:
  • Json服务器数据显示,在使用retrofit2和rxjava2的android中,当参数传递给inteface时,会出现错误。 接口

  • 我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e

  • 我有一个类,我注入到ViewModel ViewModel工厂,当在活动中的onCreate方法中初始化视图模型时,它说传递的值没有初始化。 下面是我的代码 我对Kotlin很陌生,所以尝试过调试,但在这个问题上卡住了。 这是Mainactive代码: 我的ViewModelFactory: 我的班级回购: 这是我收到的错误:

  • 我正在尝试使用Spring-boot+Vaadin创建一个web项目,并且希望使用spring-data-jpa和hibernate从PostgreSQL数据库中获取数据。 在我的Vaadin看来,我尝试自动连接我的服务类,但我总是得到null,而且eror堆栈跟踪没有告诉我原因。 数据库得我得配置: 视图和UI: pom.xml: 我的服务: 更新的解决方案:

  • 我知道一个类似的问题已经在这里得到了回答。但那是由于黄油刀库的问题,但我的情况不同。在我的例子中,当我在基本活动中使用dagger injected属性时,它显示了由:kotlin.uninitializedPropertyAccessException引起的错误:lateinit属性pref尚未初始化 AppComponent

  • 我试图将ViewModelFactory注入到活动中,但它总是抛出同样的错误:lateinit属性ViewModelFactory尚未初始化。我找不到我可能做错了什么。请参阅上面我的类中的代码 AppComponent.kt TweetSentimentsApplication.kt