相关疑难解决方法(0)

配置并使用mongodb模型服务器进行单元测试

我必须使用MongoDB存储开发一些针对Java代码的Junit测试.是否有任何框架/库允许我初始化模拟内存中的MongoDB服务器?

(我们的想法是只测试代码本身,这意味着,如果安装并运行MongoDB,则可以在任何机器上独立测试).

提前致谢!

junit mocking mongodb

30
推荐指数
3
解决办法
8817
查看次数

使用本地JSON模拟Firebase进行测试?

我正在考虑针对使用Firebase进行数据存储的应用的测试策略.虽然端到端测试可以向实际后端发出请求,但能够对不需要访问Firebase 的应用程序逻辑进行单元测试会很好.

我一直在网上寻找一种方法来使用像本地JSON文件来模拟javascript Firebase服务,但是没有找到任何东西.这样的事情存在吗?如果没有,我会写它并发布在github上...

javascript unit-testing firebase

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

使用 KMongo 对 Ktor 进行单元测试

如何使用Ktorwith进行单元测试KMongo?如何模拟数据库并对其进行测试?假设我制作了最简单的 API,如下所示:

private val client = KMongo.createClient().coroutine
private val database = client.getDatabase("dbName")
val people = database.getCollection<Person>()

suspend fun addPerson(person: Person): Boolean =
        people.insertOne(person).wasAcknowledged()

fun Route.addPersonRouting()
{
    route("/add")
    {
        post {
            if (addPerson(Person("Name", "Surname")))
            {
                call.respond(HttpStatusCode.OK, "ADDED")
            }
            else
            {
                call.respond(HttpStatusCode.OK, "NOT ADDED")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
@Test
fun `add person successfully`() = withTestApplication(
    {
        install(ContentNegotiation){ json() }
        routing { addPersonRouting() }  
    }
) {
    val c = handleRequest(HttpMethod.Post, "/add")
    assertEquals(HttpStatusCode.OK, c.response.status())
    assertEquals("ADDED", c.response.content)
}
Run Code Online (Sandbox Code Playgroud)

现在我可以编写一个单元测试,但问题是用于此测试的数据库不干净,因此在每次测试之前我必须清理它。我在想是否有任何内置数据库,以便测试类可以使用它,并且每次运行时,它都会为我提供一个新的干净数据库。如果可能的话,我可以修改路由,以便它需要接口/数据库,并且在应用程序中,我可以传递普通数据库并进行测试,我可以使用测试数据库。Android Room …

unit-testing kotlin ktor kmongo

5
推荐指数
0
解决办法
613
查看次数

标签 统计

unit-testing ×2

firebase ×1

javascript ×1

junit ×1

kmongo ×1

kotlin ×1

ktor ×1

mocking ×1

mongodb ×1