Skip to content

Commit 5ceced1

Browse files
author
Chenhe
authored
修复 UnitTest IO Error (#6)
1 parent 6fa62d2 commit 5ceced1

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

app/src/test/java/cc/chenhe/qqnotifyevo/log/LogWriterTest.kt

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import org.amshove.kluent.shouldBeEqualTo
44
import org.amshove.kluent.shouldNotBeEqualTo
55
import org.junit.After
66
import org.junit.Before
7+
import org.junit.BeforeClass
78
import org.junit.Test
89
import java.io.File
910
import java.util.*
@@ -13,22 +14,33 @@ class LogWriterTest {
1314

1415
companion object {
1516
private const val TIME = 1595582295000
17+
18+
private lateinit var cacheDir: File
19+
20+
@BeforeClass
21+
@JvmStatic
22+
fun classSetup() {
23+
cacheDir = if (System.getenv("GITHUB_ACTIONS") == "true") {
24+
File(System.getenv("HOME"), "qqevo_log_test")
25+
} else {
26+
File(System.getProperty("java.io.tmpdir"), "qqevo_log_test")
27+
}
28+
println("[LogWriterTest] Cache dir: ${cacheDir.absolutePath}")
29+
}
1630
}
1731

18-
private lateinit var cacheDir: File
1932
private lateinit var writer: LogWriter
2033

21-
private fun createLogWriter(time: Long = System.currentTimeMillis()): LogWriter {
22-
cacheDir = File(System.getProperty("java.io.tmpdir"), "qqevo_log_test")
23-
return LogWriter(cacheDir, time)
34+
private fun createLogWriter(): LogWriter {
35+
return LogWriter(cacheDir, TIME)
2436
}
2537

2638
@Before
2739
fun setup() {
28-
writer = createLogWriter()
2940
if (cacheDir.isDirectory) {
3041
cacheDir.deleteRecursively()
3142
}
43+
writer = createLogWriter()
3244
}
3345

3446
@After
@@ -39,25 +51,25 @@ class LogWriterTest {
3951

4052
@Test
4153
fun writeLog() {
42-
writer.write("Test")
43-
writer.write("Hello")
54+
writer.write("Test", TIME)
55+
writer.write("Hello", TIME)
4456
writer.logFile.readText() shouldBeEqualTo "Test\nHello\n"
4557
}
4658

4759
@Test
4860
fun appendLog() {
49-
createLogWriter(TIME).use { w ->
61+
createLogWriter().use { w ->
5062
w.write("line1", TIME)
5163
}
52-
createLogWriter(TIME).use { w ->
64+
createLogWriter().use { w ->
5365
w.write("line2", TIME)
5466
w.logFile.readText() shouldBeEqualTo "line1\nline2\n"
5567
}
5668
}
5769

5870
@Test
5971
fun writeLog_differentDay() {
60-
val calendar = Calendar.getInstance()
72+
val calendar = Calendar.getInstance().apply { timeInMillis = TIME }
6173
writer.write("Test", calendar.timeInMillis)
6274
val f1 = writer.logFile
6375

0 commit comments

Comments
 (0)