Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runBlockingTest should call registered CompletionHandler #1772

Closed
imartyushev opened this issue Jan 21, 2020 · 0 comments
Closed

runBlockingTest should call registered CompletionHandler #1772

imartyushev opened this issue Jan 21, 2020 · 0 comments
Assignees
Labels

Comments

@imartyushev
Copy link

@imartyushev imartyushev commented Jan 21, 2020

Sometimes it is desirable to create some resources in the test and automatically release them when the test is completed using a Job CompletionHandler from coroutine context. In the runBlocking coroutine context the registered job CompletionHandler is called, but not in the runBlockingTest.

class JUnit4Test{

    @Test
    fun should_invoke_CompletionHandler() {
        var wasCalled = false

        runBlockingTest {
            val job: Job = coroutineContext[Job.Key]!!
            job.invokeOnCompletion {
                wasCalled = true
            }
        }

        Assert.assertEquals(true, wasCalled)
    }
}

java.lang.AssertionError: expected:<true> but was:<false>

Kotlin: 1.3.61
Coroutines: 1.3.3

@elizarov elizarov added the test label Jan 22, 2020
@qwwdfsad qwwdfsad self-assigned this Feb 18, 2020
dkhalanskyjb added a commit that referenced this issue Oct 11, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 13, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 13, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 15, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 25, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 27, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Oct 27, 2021
* Add more detailed documentation;
* Move most verification logic from `runBlockingTest` to
  `cleanupTestCoroutines`
Fixes #1749
* Complete the scope's job if a new job was created for it
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Nov 1, 2021
Implement a multiplatform runTest as an initial implementation of #1996.

Fixes #1204
Fixes #1222
Fixes #1395
Fixes #1881
Fixes #1910
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Nov 17, 2021
Implement a multiplatform runTest as an initial implementation of #1996.

Fixes #1204
Fixes #1222
Fixes #1395
Fixes #1881
Fixes #1910
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Nov 17, 2021
Implement a multiplatform runTest as an initial implementation of #1996.

Fixes #1204
Fixes #1222
Fixes #1395
Fixes #1881
Fixes #1910
Fixes #1772
dkhalanskyjb added a commit that referenced this issue Nov 19, 2021
Implement a multiplatform runTest as an initial implementation of #1996.

Fixes #1204
Fixes #1222
Fixes #1395
Fixes #1881
Fixes #1910
Fixes #1772
yorickhenning pushed a commit to yorickhenning/kotlinx.coroutines that referenced this issue Jan 28, 2022
This commit introduces the new version of the test module.
Please see README.md and MIGRATION.md for a thorough
discussion of the changes.

Fixes Kotlin#1203
Fixes Kotlin#1609
Fixes Kotlin#2379
Fixes Kotlin#1749
Fixes Kotlin#1204
Fixes Kotlin#1390
Fixes Kotlin#1222
Fixes Kotlin#1395
Fixes Kotlin#1881
Fixes Kotlin#1910
Fixes Kotlin#1772
Fixes Kotlin#1626
Fixes Kotlin#1742
Fixes Kotlin#2082
Fixes Kotlin#2102
Fixes Kotlin#2405
Fixes Kotlin#2462

Co-authored-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

4 participants