mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
Recent tests: changed tests order - passed tests is added only if it is suite; first comes failed test group, last comes passed test group
This commit is contained in:
@@ -49,5 +49,6 @@
|
||||
<orderEntry type="module" module-name="jetgroovy" scope="TEST" />
|
||||
<orderEntry type="module" module-name="lang-tests" scope="TEST" />
|
||||
<orderEntry type="library" scope="TEST" name="mockito" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="assertJ" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -16,54 +16,94 @@
|
||||
package com.intellij.testIntergration
|
||||
|
||||
import com.intellij.execution.TestStateStorage
|
||||
import com.intellij.testFramework.UsefulTestCase.*
|
||||
import com.intellij.execution.testframework.JavaTestLocator
|
||||
import com.intellij.execution.testframework.sm.runner.states.TestStateInfo
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.testIntegration.RecentTestRunner
|
||||
import com.intellij.testIntegration.SelectTestStep
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.Test
|
||||
import org.mockito.Matchers
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.mock
|
||||
import java.util.*
|
||||
|
||||
class RecentTestsStepTest {
|
||||
val runner = mock(RecentTestRunner::class.java)
|
||||
val runner = createRunner()
|
||||
|
||||
val passed = TestStateStorage.Record(TestStateInfo.Magnitude.PASSED_INDEX.value, Date())
|
||||
val failed = TestStateStorage.Record(TestStateInfo.Magnitude.FAILED_INDEX.value, Date())
|
||||
|
||||
@Test
|
||||
fun `suites comes before their children tests`() {
|
||||
fun `when suite passed - show only suite`() {
|
||||
val map: MutableMap<String, TestStateStorage.Record> = hashMapOf()
|
||||
val now = Date()
|
||||
map.put("java:suite://JavaFormatterSuperDuperTest", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://Test.textXXX", TestStateStorage.Record(1, now))
|
||||
map.put("java:suite://Test", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://Test.textYYY", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://Test.textZZZ", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://Test.textQQQ", TestStateStorage.Record(1, now))
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testUnconditionalAlignmentErrorneous", TestStateStorage.Record(1, now))
|
||||
|
||||
map.put("java:suite://JavaFormatterSuperDuperTest", passed)
|
||||
map.put("java:test://Test.textXXX", passed)
|
||||
map.put("java:suite://Test", passed)
|
||||
map.put("java:test://Test.textYYY", passed)
|
||||
map.put("java:test://Test.textZZZ", passed)
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt", passed)
|
||||
map.put("java:test://Test.textQQQ", passed)
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testUnconditionalAlignmentErrorneous", passed)
|
||||
|
||||
val step = SelectTestStep(map, runner)
|
||||
|
||||
val expected = listOf(
|
||||
"java:suite://JavaFormatterSuperDuperTest",
|
||||
"java:test://JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt",
|
||||
"java:test://JavaFormatterSuperDuperTest.testUnconditionalAlignmentErrorneous",
|
||||
"java:suite://Test",
|
||||
"java:test://Test.textQQQ",
|
||||
"java:test://Test.textXXX",
|
||||
"java:test://Test.textYYY",
|
||||
"java:test://Test.textZZZ"
|
||||
"java:suite://Test"
|
||||
)
|
||||
assertContainsOrdered(step.values, expected)
|
||||
assertSize(8, step.values)
|
||||
|
||||
assertThat(step.values).isEqualTo(expected)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
fun `show failed first`() {
|
||||
val map: MutableMap<String, TestStateStorage.Record> = hashMapOf()
|
||||
|
||||
map.put("java:suite://JavaFormatterSuperDuperTest", failed)
|
||||
map.put("java:test://Test.textXXX", passed)
|
||||
map.put("java:suite://Test", passed)
|
||||
map.put("java:suite://JavaFormatterFailed", failed)
|
||||
map.put("java:test://JavaFormatterFailed.fail", failed)
|
||||
map.put("java:test://Test.textYYY", passed)
|
||||
map.put("java:test://Test.textZZZ", passed)
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testFail", failed)
|
||||
map.put("java:test://Test.textQQQ", passed)
|
||||
map.put("java:test://JavaFormatterSuperDuperTest.testUnconditionalAlignmentErrorneous", passed)
|
||||
|
||||
val step = SelectTestStep(map, runner)
|
||||
|
||||
val expected = listOf(
|
||||
"java:suite://JavaFormatterFailed",
|
||||
"java:test://JavaFormatterFailed.fail",
|
||||
"java:suite://JavaFormatterSuperDuperTest",
|
||||
"java:test://JavaFormatterSuperDuperTest.testFail",
|
||||
"java:suite://Test"
|
||||
)
|
||||
|
||||
assertThat(step.values).isEqualTo(expected)
|
||||
}
|
||||
|
||||
private fun createRunner(): RecentTestRunner {
|
||||
val runner = mock(RecentTestRunner::class.java)
|
||||
`when`(runner.isSuite(Matchers.anyString())).thenAnswer {
|
||||
val url = it.arguments[0] as String
|
||||
val protocol = VirtualFileManager.extractProtocol(url)
|
||||
JavaTestLocator.SUITE_PROTOCOL.startsWith(protocol.toString())
|
||||
}
|
||||
return runner
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `shown value without protocol`() {
|
||||
val step = SelectTestStep(emptyMap(), runner)
|
||||
var shownValue = step.getTextFor("java:suite://JavaFormatterSuperDuperTest")
|
||||
assertEquals(shownValue, "JavaFormatterSuperDuperTest")
|
||||
assertThat(shownValue).isEqualTo("JavaFormatterSuperDuperTest")
|
||||
|
||||
shownValue = step.getTextFor("java:test://JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt")
|
||||
assertEquals(shownValue, "JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt")
|
||||
assertThat(shownValue).isEqualTo("JavaFormatterSuperDuperTest.testItMakesMeSadToFixIt")
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user