ich den folgenden Konstruktor habe:Jacoco Abdeckung und Kotlin Standardparameter
open class IPFS @JvmOverloads constructor(protected val base_url: String = "http://127.0.0.1:5001/api/v0/",
protected val okHttpClient: OkHttpClient = OkHttpClient.Builder().build(),
protected val moshi: Moshi = Moshi.Builder().build()) {
Nun, wenn Berichterstattung Messen ich immer vermisst bekommen für, wenn Standardeinstellungen verwendet. Der einzige Ausweg, den ich mir vorstellen kann, ist, einige Tests in Java zu schreiben, die die anderen Konstruktoren verwenden - aber ich würde gerne in reinem Kotlin bleiben - gibt es eine Möglichkeit, dies zu tun?
Update: Ich bin Konstrukteuren wie IPFS() in meinen Tests mit - aber ich denke, auf der Java-Bytecode erzeugt dies mit allen drei Parametern an den Konstruktor überführt wird - und das ist das einzige, was jacoco sieht
Technisch haben Sie vier Konstruktoren im Byte-Code, und Sie rufen nur einen von ihnen auf. Dies wäre das gleiche wie in Java. – nhaarman
Ich rufe verschiedene Konstruktoren - aber nur eine wird von Jacoco gesehen – ligi
Ah, also ist es umgekehrt. Macht Sinn. – nhaarman