@RunWith(AndroidJUnit4::class)
class ToDoListInstrumentedTest {
@Rule
@JvmField var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
private fun getActivity() = activityRule.activity
@After
fun tearDown() {
InstrumentationRegistry.getInstrumentation().getTargetContext().deleteDatabase("TaskDatabase")
}
@Test
fun oneTask() {
val mock = mock(DatabaseHandler::class.java)
`when`(mock.getTasks()).thenThrow()
onView(withId(R.id.taskName)).check(matches(isDisplayed()))
}
}
class DatabaseHandler(context: Context): SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
companion object {
private const val DATABASE_VERSION = 5
private const val DATABASE_NAME = "TaskDatabase"
...
}
override fun onCreate(db: SQLiteDatabase?) {
...
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
...
}
fun getTasks(): MutableList<Pair<MutableList<String>, MutableList<Room>>> {
...
}
}
我看过其他几个类似的问题,但没有一个有帮助:
mock-maker-inline
行创建了文件,正如答案中所建议的那样,我仍然得到同样的错误。我还尝试了建议mockito.mock(somemockabletype.class,additionalanswers.delegatesto(someInstanceThatIsNotMockableOrSpyable))
的答案,但这给了我一个‘没有足够的信息来推断类型变量t'error我会做一个界面:
public interface ContainerHandler {
MutableList<Pair<MutableList<String>, MutableList<Room>>> getTasks();
}
然后让DatabaseHandler继承这个接口,用这个接口调用Mockito的mock函数。
val mock = mock(ContainerHandler::class.java)
`when`(mock.getTasks()).thenThrow()
最后,我将我的模拟注入到测试类中。
CacheController.Somemethod();但是当submit方法被称为submit方法时,它会创建一个线程和cacheController.somemethod();从不调用测试类。
当我运行测试时,我可以做什么来更改时间
我的要求是测试这段代码,更重要的是测试序列化器,因此,给出一个JSON片段,我如何测试所有的值都正确地通过商人的实例。 我不知道RestTemplate使用哪个序列化器将JSON序列化为对象。
我知道Dan North设计BDD的意图之一是将词汇表从复杂的测试域中移开。然而,在实现由外到内的方法时,我们似乎仍然需要对模仿行为(或者,如果您愿意的话)有一些了解。North在这个视频中建议,如果我从最外层的域对象开始,然后向内工作,我会在发现合作者时模仿它们,然后用适当的实现替换它们。所以最后,我以一组端到端测试结束。 Martin Fowler在这篇博客文章中定义了TDD的两个阵营:“古典
问题内容: 在我的测试案例中,我需要测试时间敏感的方法,在该方法中,我们使用的是Java 8类LocalDate,而 不是Joda 。 运行测试时,我该如何更改时间? 问题答案: 在您的代码中,将替换为。 然后,您可以通过生产并使用固定时钟进行测试。 这是一个例子: 首先,注入。如果您使用的是Spring Boot,请执行以下操作: 其次,输入您的代码: 现在,在单元测试类中:
它返回null,而不是预期的客户端,对象类的工作正常。我只想写测试。我是漏掉了什么还是做错了测试?谢谢你的指导。