Я использую конструктор тестового класса для насмешливых объектов.Но я хочу установить параметры для заглушек насмешливых объектов из каждого метода испытаний.Я попытался использовать параметры конструкторов тестового класса, но 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)
}
}