Ich habe einen Kotlin -Code geschrieben und möchte Unit -Tests dafür schreiben. Aber ich stellte fest, dass der von mir geschriebene Unit -Testcode, den ich geschrieben habe, immer noch eine 100% ige Zweigabdeckung abdecken kann. Was soll ich tun? < /P>
Kotlin Code: < /p>
Ich habe einen Kotlin -Code geschrieben und möchte Unit -Tests dafür schreiben. Aber ich stellte fest, dass der von mir geschriebene Unit -Testcode, den ich geschrieben habe, immer noch eine 100% ige Zweigabdeckung abdecken kann. Was soll ich tun? < /P> Kotlin Code: < /p> [code]class MyRepository @Inject constructor( @DefaultDispatcher private val dispatcher: CoroutineDispatcher, @ApplicationScope private val scope: CoroutineScope, val checkService:ICheckService = CheckService() ) { fun fetchData(value: Int): String { return runBlocking(dispatcher) { suspendCoroutine { continuation -> println(111) scope.launch(dispatcher) { println(222) delay(100) println(333) if(checkService.check(value)){ println(444) } continuation.resume("result") } } } } }
interface ICheckService { suspend fun check(value:Int): Boolean }
class CheckService:ICheckService{ override suspend fun check(value: Int): Boolean { // mock delay delay(300)
return value > 0 }
} < /code> UT -Code: < /p> class MyRepositoryTest4 { private lateinit var myRepository: MyRepository private val dispatcher = StandardTestDispatcher() private lateinit var scope: TestScope
withContext(Dispatchers.IO){ myRepository.fetchData(-1) } } @Test fun testMyRepository2() = scope.runTest {
withContext(Dispatchers.IO){ myRepository.fetchData(1) } } } < /code> Zusätzlich ändere ich das Objekt von < /p> myRepository to myRepository=mockk (relaxed=true) [/code] Die Abdeckung beträgt 0% und es wird kein Code ausgeführt. src = "https://i.sstatic.net/3k494idl.png"/> [img]https://i.sstatic.net/V6Fkwyth.png[/img]
Beim Online-Kurs wurde erwähnt, dass, wenn wir einen bedingten Ausdruck in Java haben, der auf der einen Seite Byte oder Short und auf der anderen Seite Final Int zurückgibt, dann if Der int-Wert...
Python 3.12.3, Celery 5.3.6, Django 4.2.11, Ubuntu 22.04.4
Ich habe eine Infrastruktur von Django- und Celery-Servern, die gleichzeitig auf einem Ubuntu-Server laufen.
Für die Protokollierung...
Ich entwickle eine Desktop -Anwendung, die Spring und OpenJFX kombiniert, aber ich habe ein Problem, bei dem die von JPackage erstellte ausführbare Datei nicht korrekt funktioniert. Beim Überprüfen...
Ich entwickle eine Desktop -Anwendung, die Spring und OpenJFX kombiniert, aber ich habe ein Problem, bei dem die von JPackage erstellte ausführbare Datei nicht korrekt funktioniert. Beim Überprüfen...