Tag: 集成测试

Kotlin:如何将使用Thread.sleep的测试转换为RxJava TestScheduler

我正在写一个工具测试,它检查是否当我缓存东西到一个接收缓冲区,并经过一段时间(10秒)这个主题插入缓冲值到我的房间数据库。 当我使用Thread.sleep(syncTimeInterval)时,测试是正确的。 我想用TestScheduler编写这个相同的测试。 这里是Thread.sleep版本(通过测试): @Test fun testMultipleLogs() { val loadAllCloudCallBefore = appDatabase.logCloudCallDao().loadAll() val loadAllLogNewSessionBefore = appDatabase.logNewSessionDao().loadAll() assertEquals(0, loadAllCloudCallBefore.size) assertEquals(0, loadAllLogNewSessionBefore.size) Observable.interval(1, TimeUnit.SECONDS) .take(20) .subscribe { logManager.logNewSession() } Observable.interval(1, TimeUnit.SECONDS) .take(20) .subscribe { logManager.logCloudCall("url", "callgoup") } Observable.interval(1, TimeUnit.SECONDS) .take(20) .subscribe { logManager.logNewSession() } Observable.interval(1, TimeUnit.SECONDS) .take(20) .subscribe { logManager.logCloudCall("url", "callgoup") } Observable.interval(1, TimeUnit.SECONDS) .take(20) .subscribe { […]

Kotlin + JUnit + postgres进行集成测试:泄漏连接

我建立了一个运行13个集成测试的测试课程。 所有的测试都涉及1个数据库,1个模式和3个表格。 测试类的设置是为了使用@BeforeClass创建测试数据库,并使用@AfterClass删除测试数据库。 在每个测试的setUp阶段,我迁移模式并用人工数据填充表格。 然后在tearDown阶段,我删除模式。 在每个测试中,我运行我的测试逻辑对测试数据库: class MyTest { companion object { private val helper = MyHelper() @BeforeClass @JvmStatic fun createTestDatabase() { helper.createTestDatabase() } @AfterClass @JvmStatic fun removeTestDatabase() { helper.deleteTestDatabase() } } @Before fun setUp(){ // migrate the schema and populate the tables with artificial data helper.migrate() helper.populate() } @After fun tearDown() { // remove […]

Kotlin – 运行一个集成测试,错误`fun main已经定义好了`

我写了一个Web应用程序的集成测试,但我不知道如何运行这个测试。 当我执行mvn test时,Maven构建失败,出现以下错误 [INFO] Compiling Kotlin sources from [src/main/kotlin] [INFO] Classpath: <…> [INFO] Classes directory is <…>\target\classes [INFO] Module name is demo [ERROR] <…>\src\main\kotlin\demo\Application.kt: (9, 1) 'public fun main(args: kotlin.Array<kotlin.String>): kotlin.Unit' is already defined in demo [INFO] ———————————————————————— [INFO] BUILD FAILURE [INFO] ———————————————————————— 这是我的主要类(Application.kt) package demo import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication @SpringBootApplication open class Application fun […]

MissingMethodInvocationException在Kotlin中测试已打开的类

我正在尝试使用Kotlin + RxJava和MockWebServer进行一些集成测试。 我在测试方面是一个新手,我是Kotlin学徒。 我知道Mockito和final类的局限性,但我不应该嘲笑我正在测试的类,所以我不知道真正的问题在哪里: 错误如下: Apr 16, 2016 9:59:49 PM okhttp3.mockwebserver.MockWebServer$3 execute INFO: MockWebServer[54260] starting to accept connections Apr 16, 2016 9:59:50 PM okhttp3.mockwebserver.MockWebServer$3 acceptConnections INFO: MockWebServer[54260] done accepting connections: Socket closed org.mockito.exceptions.misusing.MissingMethodInvocationException: when() requires an argument which has to be 'a method call on a mock'. For example: when(mock.getArticles()).thenReturn(articles); Also, this error might […]