【发布时间】:2021-01-31 06:11:26
【问题描述】:
我想在活动启动之前模拟 API 响应以测试实时场景。我正在使用 rxjava 和 viewmodel 在实际活动类中进行 API 调用。我创建了一个自定义调度程序来模拟 API 调用并在 BaseUItest 类中调用它。但是当我启动测试时这个过程不起作用,因为我看到没有数据加载并且没有进行模拟 API 调用。这是 BaseUItest:
open class BaseUITest {
protected var mockWebServer = MockWebServer()
@Before
open fun setup() {
mockWebServer.start(5000)
mockWebServer.dispatcher = ApiDispatcher()
}
@After
open fun teardown() {
mockWebServer.shutdown()
}
}
在模拟 API 之前,我还需要模拟视图模型吗?我在这里做什么?请帮忙。
【问题讨论】:
-
你的代码是否完整? github.com/square/okhttp/tree/master/mockwebserver 在这个例子中,我认为你需要向服务器询问它的 url 并将其传递给你的处理类......我猜......
-
@sak:你实现了你正在做的事情吗?我被困在同一个场景中,无法找到方向。你能帮忙吗?
-
@MonsterBrain 无法通过询问服务器来理解。我是否必须提及我要模拟的端点路径或我的服务器的 baseURL
-
@Emjey 是的。您可以通过传递 server.url("your/api/endpoint") 函数来获取端点的 url ...更多详细信息在答案中
标签: android android-espresso android-testing