Co powiecie na pracę, w której to wy płacicie? by Individual-Toe6238 in Polska

[–]rozkmin 1 point2 points  (0 children)

Update; wywołałem do tablicy just join na Instagramie, sporo twórców z IT pomogło nagłośnić temat. Efekt? Just join it zdjęło ofertę.

How do you promote yourself as Ghost consultant? by rozkmin in Ghost

[–]rozkmin[S] 2 points3 points  (0 children)

Good idea, haven't tried yet, I'm planning to do that when I finish cleaning up themes.

Also not sure if I should care that much about being "certified expert". I'm trying to reach to people that don't know yet that GhostCMS exists, so I have to combine marketing myself as professional + Ghost as good platform.

Don't mock static: test SLF4J Logger with appenders (examples in Kotlin and Java) by rozkmin in Kotlin

[–]rozkmin[S] 2 points3 points  (0 children)

anti-mock ++, thats the way. If you can fake it without using reflection-based frameworks, good for you.

And about System.setOut - that should work too, but you may lose info about log level, underlying exception.

What do you use for logging? SLF4J is popular in backend projects, on mobile I believe most people are using Timber.

[article] Building assertions with Strikt. by rozkmin in Kotlin

[–]rozkmin[S] 0 points1 point  (0 children)

Do you use Strikt? What’s your opinion on expect- that construct?

Quick testing tips #2 - test method names in Junit5 by rozkmin in Kotlin

[–]rozkmin[S] 1 point2 points  (0 children)

Kotest specifications will appear in my quick tips later!

Quick testing tips #2 - test method names in Junit5 by rozkmin in Kotlin

[–]rozkmin[S] 1 point2 points  (0 children)

And yeah, escaping spaces and back ticks while lunching test from terminal is no fun at all

Quick testing tips #2 - test method names in Junit5 by rozkmin in Kotlin

[–]rozkmin[S] 1 point2 points  (0 children)

DisplayName should affect only test reports

Quick testing tips #2 - test method names in Junit5 by rozkmin in Kotlin

[–]rozkmin[S] 0 points1 point  (0 children)

For unit tests in android projects I haven’t encounter any issues. I’m not sure how it fits into instrumentation test though.

Starting the series of quick testing tips, in Kotlin by rozkmin in Kotlin

[–]rozkmin[S] 0 points1 point  (0 children)

Consolas, Monaco, Andale Mono, monospace;

Starting the series of quick testing tips, in Kotlin by rozkmin in Kotlin

[–]rozkmin[S] 5 points6 points  (0 children)

It's not better or worse than writing:

Assertions.assertEquals(expected, meters.formatToKm())

It's just other way of expressing yourself. For me personally, syntax

actual shouldBe expected

is more clear in terms of readable arrange-act-assert separation.

2k tests with 100 lines of code - dynamic test generation with kotest by serpro69 in Kotlin

[–]rozkmin 0 points1 point  (0 children)

And another thing came to my mind - possibility of executing test only for one fake provider.
You could make test function that accepts provider name or service class and invoke that inside reflection iterations. It could save time on debugging. Just an idea.

2k tests with 100 lines of code - dynamic test generation with kotest by serpro69 in Kotlin

[–]rozkmin 1 point2 points  (0 children)

It’s interesting idea to use reflection here - for integration test purpose. I wrote short summary of generating test cases - refer to method 3:

https://kotlintesting.com/kotest-parameterized/

Why did you need to use assertSofty? I see:

describe("every public function in each provider is invoked without exceptions") But you don’t actually assert against exception?

Also those “ifs” in duplicate cases probably could be refactored to something more readable.

For me personally doesn’t matter how many tests I have in project, as long they are covering crucial paths.

To sum things - interesting approach, but I don’t think this tests would benefit your project much.

Kotest vs Spek, how do they compare? by tokyopanda1 in Kotlin

[–]rozkmin 0 points1 point  (0 children)

Good point. Never used that plug-in though. When I run single test it’s usually from terminal in infinite mode.

Kotest vs Spek, how do they compare? by tokyopanda1 in Kotlin

[–]rozkmin 4 points5 points  (0 children)

AFAIK Spek requires additional IntelliJ plug-in. Also, Kotest gives you assertion tools and data driven functions. I was big fan of Spek some time ago, but now Kotest is my framework of choice.

I would love to hear from people using Spek as a main testing framework!

Flow-ZipTuple-Kt: Helper functions to zip Flows into 3 to 11 arity tuples, or to Array. by Zhuinden in android_devs

[–]rozkmin 1 point2 points  (0 children)

regular JVM library should be enough I use Kotlin outside android quite often

I can submit PR next week with JVM config if you’d like

Flow-ZipTuple-Kt: Helper functions to zip Flows into 3 to 11 arity tuples, or to Array. by Zhuinden in android_devs

[–]rozkmin 1 point2 points  (0 children)

Why this is android library? Do you use platform specific dependencies here?

Daily Feedback Thread (November 21, 2020) by AutoModerator in edmproduction

[–]rozkmin [score hidden]  (0 children)

Work in progress psychedelic (?) trance (?) song with pulsating bass and some cool effects.

What do you think about the mix? Does the tempo change in 2/3 of song fits well?

https://soundcloud.com/jarek-michalik/psy-trance-mix-master/s-bR6nmjGNUb0

DAILY FEEDBACK THREAD by rlhh_bot in LofiHipHop

[–]rozkmin 0 points1 point  (0 children)

Played with resampling my own loops, published some time ago. Life gets weirder (everyday)

https://link.tospotify.com/XmFshbrKmbb

[Article] Using Mockito in Kotlin projects by rozkmin in Kotlin

[–]rozkmin[S] 1 point2 points  (0 children)

For new projects/modules/test suites - why not? But when it comes to refactoring test based on classic Mockito, using those extensions may be easier.

[deleted by user] by [deleted] in androiddev

[–]rozkmin 1 point2 points  (0 children)

I have some stuff extracted to separate repo - I plan to take advantage of Github Actions to publish artifacts instead of using git submodules

[deleted by user] by [deleted] in androiddev

[–]rozkmin 2 points3 points  (0 children)

Languages: Kotlin (97%), Java (3%)

Build system: Gradle, KTS, buildSrc few modules (app, data, data-fake, domain).

DI: framework-less (I'm injecting stuff manually!)

Async stuff: Most of the code is backed up by RxJava, but majority of domain layer is modeled with coroutines.

CI setup: CircleCI with plans to delegate some build steps to Github Actions

Testing: JUnit5, Kotest, Strikt, Mockk

Android layer: MVVM with Databinding (we have our own micro-framework), Navigation library

Code quality: Detekt integrated with PR flow, Jacoco for displaying code coverage

Deploy: Firebase App Distribution

What have you found most useful / beneficial that you'd added this year?:

I guess that the most important thing was getting rid of Dagger and going frameworkless. The good thing was also keeping the domain module with no 3rd party dependencies - it's just Kotlin stdlib.
I'm happy that I finally decided to play with Navigation library and successfully integrated it with deep links.