【发布时间】:2018-12-09 13:36:29
【问题描述】:
我使用测试类的构造函数来模拟对象。但我想为每个测试方法的存根模拟对象设置参数。 我尝试使用测试类的构造函数参数,但 JUnit 限制了这一点:
java.lang.Exception: Test class should have exactly one public zero-argument constructor
为此我应该使用什么?
现在我使用不同的类来模拟商店,它看起来不太好
package testci
import org.junit.Test
import org.mockito.Mockito.*
interface Object {
fun get(p: Int): Int
}
class setUpMock(val param: Int, val param2: Int) {
val mock = mock(Object::class.java)!!
init {
`when`(mock.get(param)).thenReturn(param2)
}
}
class HelloTest {
@Test
fun `first test`() {
val sMock = setUpMock(1,2)
println(sMock.mock.get(1))
}
@Test
fun `second test`() {
val sMock = setUpMock(1,3)
println(sMock.mock.get(1))
verify(sMock.mock).get(1)
}
}
【问题讨论】:
标签: java unit-testing junit kotlin