小编use*_*913的帖子

使用kotlin协同程序时,如何对调用挂起函数的函数进行单元测试?

我有这样的课

class SomeClass {
    fun someFun() {
        // ... Some synchronous code
        async {
            suspendfun() 
        }
    }

    private suspend fun suspendFun() {
         dependency.otherFun().await()
         // ... other code
    }
}
Run Code Online (Sandbox Code Playgroud)

我想进行单元测试,someFun()所以我编写了一个单元测试,如下所示:

@Test
fun testSomeFun() {
    runBlocking {
        someClass.someFun()
    }

    // ... verifies & asserts
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,因为runBlocking实际上不会阻止执行,直到runBlocking内的所有内容都完成.如果我suspendFun()直接在里面测试runBlocking它按预期工作,但我希望能够一起测试someFun().

有关如何使用同步和异步代码测试函数的任何线索?

unit-testing coroutine kotlin kotlin-coroutines

23
推荐指数
1
解决办法
5378
查看次数

斯卡拉突破了地图

当条件满足时,我需要打破seq映射,foo返回一个对象列表,其中大小取决于查找targetId所需的时间

def foo(ids: Seq[String], targetId: String) = ids.map(id => getObject(id)).until(id == targetId)
Run Code Online (Sandbox Code Playgroud)

很明显,直到方法不存在,但我正在寻找相同的东西

scala

6
推荐指数
2
解决办法
2568
查看次数

如何从远程存储库拉入新分支?

我在 github 上分叉了一个存储库,但他们在该存储库中创建了另一个分支。当我在上游执行 git fetch 时,它不会在我的存储库中创建该分支。我该怎么做呢?

git branch

5
推荐指数
1
解决办法
3259
查看次数

在scala Play框架中是否有快速构建的方式来转发请求

我正在寻找类似的东西

def proxy = Action.async { implicit req =>
  //do something with req
  val newRequest = req.map( r = r.path = "http://newurl");
  forward(newRequest)
}
Run Code Online (Sandbox Code Playgroud)

我看到有一个redirect方法,但是只允许我传递请求参数,而不传递其他所有信息,标头等。

我希望内置一些东西,所以我不必自己构建。

scala playframework playframework-2.0

5
推荐指数
1
解决办法
1598
查看次数

如何使内部 div 的顶部边框与外部 div 的顶部边框重叠?

我在 div 中有一个 div,它们都有边框。如何使内部 div 的顶部边框与外部 div 的边框重叠?

HTML:

<body>
    <div id = "outerdiv">
        <div id = "innerdiv">
            content
        </div>
    </div>
</body>     
Run Code Online (Sandbox Code Playgroud)

CSS:

#outerdiv{
    border: 1px solid black;
}

#innerdiv{
    border-top: 1px solid white;
}
Run Code Online (Sandbox Code Playgroud)

我希望边框彼此对齐,这样内部 div 就会取消底部边框,并且该部分看起来就像顶部缺少一部分边框一样。

这适用于底部边框,但不适用于顶部。

html css

1
推荐指数
1
解决办法
5211
查看次数