4 ms·
For tests : I have had some nice experience writing jUnit tests with pitest (PIT) : there is a gradle plugin to do that in AS/Idea The only issue I had was to
by lakedaemon 11y ago
For tests : I have had some nice experience writing jUnit tests with pitest (PIT) : there is a gradle plugin to do that in AS/Idea
The only issue I had was to ignore Package class to make pit work
For DI, Dagger2 works fine with kotlin
For multithreading : Quasar supports Kotlin
(I'm waiting for quasar to support android though)
- mahmoudimus 11y ago> For multithreading : Quasar supports Kotlin (I'm waiting for quasar to support android though) Have you opened up an issue on Quasar's repo (https://github.com/puniverse/quasar https://github.com/puniverse/quasar) so Parallel Universe can track this for a possible milestone?
- lakedaemon 11y agoWe don't need to : I read somewhere that it was on their roadmap...
- mplatvoet 11y agoIf you want easy multithreading on Android take a look at Kovenant http://kovenant.komponents.nl/android/features/ http://kovenant.komponents.nl/android/features/
- michel-slm 11y agoCan you use PIT with Kotlin? Really tempted to try it out but wasn't sure. I suppose if it works at the bytecode instead of source level it would just work.
- lakedaemon 11y agoYes you can (I managed it and it works beautifully). But you have to make it ignore Package Class at the moment because top functions in a package (say my.great.pack) can be in different .kt files and are gathered in a single class (my.great.pack.PackPackage) and pit doesn't seem to be able to cope with a class whose source come from more than 1 file (or I missed something). Just put something like this in your gradle.build file : apply plugin: "info.solidsoft.pitest" pitest { targetClasses = ['org.lakedaemon.suggest.', 'org.lakedaemon.compress.'] //by default "${project.group}." excludedClasses = ['org.lakedaemon.compress.decoders.DecodersPackage', 'org.lakedaemon.compress.decoders.EncodersPackage'] avoidCallsTo = ['org.apache.log4j.', 'org.lakedaemon.L.', 'org.slf4j.', 'java.util.logging.'] pitestVersion = "1.1.4" //not needed when a default PIT version should be used threads = 4 outputFormats = ['XML', 'HTML'] enableDefaultIncrementalAnalysis = true testSourceSets = [sourceSets.test/, sourceSets.integrationTest/] mainSourceSets = [sourceSets.main/, sourceSets.additionalMain*/] }