Can you add a custom message to AssertJ assertThat?

And in classic fashion, I found what I was looking for moments after posting the question. Hopefully this will make it easier for the next person to find without first having to know what it’s called. The magic method is the deceptively short-named as, which is part of another interface that AbstractAssert implements: Descriptable, not … Read more

Why use JUnit for testing?

That’s not testing, that’s “looking manually at output” (known in the biz as LMAO). More formally it’s known as “looking manually for abnormal output” (LMFAO). (See note below) Any time you change code, you must run the app and LMFAO for all code affected by those changes. Even in small projects, this is problematic and … Read more

Embedded MongoDB when running integration tests

I have found Embedded MongoDB library which looks quite promising and does what you have asked for. Currently supports MongoDB versions: 1.6.5 to 3.1.6, provided the binaries are still available from the configured mirror. Here is short example of use, which I have just tried and it works perfectly: public class EmbeddedMongoTest { private static … Read more

Get context of test project in Android junit test case

There’s new approach with Android Testing Support Library (currently androidx.test:runner:1.1.1). Kotlin updated example: class ExampleInstrumentedTest { lateinit var instrumentationContext: Context @Before fun setup() { instrumentationContext = InstrumentationRegistry.getInstrumentation().context } @Test fun someTest() { TODO() } } If you want also app context run: InstrumentationRegistry.getInstrumentation().targetContext Full running example: https://github.com/fada21/AndroidTestContextExample Look here: What’s the difference between getTargetContext() and … Read more

Junit – run set up method once

Although I agree with @assylias that using @BeforeClass is a classic solution it is not always convenient. The method annotated with @BeforeClass must be static. It is very inconvenient for some tests that need instance of test case. For example Spring based tests that use @Autowired to work with services defined in spring context. In … Read more