问题标签 [mockwebserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4228 浏览

android - 如何使用包含重定向的 mockwebserver 测试服务调用?

我正在使用 mockwebserver 来模拟我的 android 应用程序的请求和响应。我正在测试一个通过一系列 4 次服务调用的登录功能。

  1. 获取访问令牌
  2. 重定向
  3. 获取用户信息(不同的基本网址)
  4. 获取其他一些东西(原始基本网址)

我试图模拟重定向呼叫的响应。这是我的代码:

我的测试在重定向代码处失败。我不能登入。我在这里找到了一些提示,但我不完全理解发生了什么,因此目前无法使其工作。

0 投票
1 回答
650 浏览

mocking - 在 Android 上模拟 mockwebserver 后无法测试对真实服务器的调用?

我首先运行一个模拟登录测试,它返回状态代码 400,然后是第二个使用真实服务调用登录的测试。测试如下:

真正的服务不会被调用。EditText 错误消息说

无法验证:无法连接到 localhost/127.0.0.1:50162

这是初始化 Retrofit 实例的 NetworkServiceHelper.init() 函数:

0 投票
0 回答
800 浏览

android-espresso - Espresso mockWebServer 响应不拦截 http 调用

我正在尝试拦截在我的 espresso 测试中进行的网络调用,以便我可以使用本地副本覆盖响应并使测试更具确定性。我面临的问题是即使我正确设置了 MockWebServer 我从来没有看到任何当我在浓缩咖啡测试中进行网络调用时,http 调用被它拦截。我花了将近两天的时间阅读这方面的内容,但无法找出问题所在。

0 投票
1 回答
8545 浏览

android - 如何使 MockWebServer 工作?

我正在使用 MVP 架构开发应用程序。我正在尝试使用 MockWebServer 测试我的应用程序的交互器。好吧,我有这个测试:

但是,当我取消注释 TestSubscriber 上的 assertCompleted 时,我总是得到 assertionError ...我知道 TestSubscriber 有效,因为我在其他测试中使用它。

这是我的 ApiCall:

我的网络模块:

我的基本 URL(没有后端服务器......可以是任何东西):

那么,我错过了什么?这段代码应该可以工作...

欢迎任何帮助!

编辑:

因此,我将代码更改为:

和这个:

但我仍然收到此错误:

0 投票
0 回答
5190 浏览

android-espresso - 模拟服务器请求 Android Espresso UI 测试

我正在使用 Espresso 为我的 Android 应用程序编写 UI 测试,并想使用 MockWebServer 模拟 http 请求。在运行测试之前,我需要模拟身份验证响应并登录用户。

有没有办法让应用程序使用mockwebserver,而不是发出实际请求,我可以使用mockwebserver上排队的响应。

到目前为止,我有:

0 投票
1 回答
2126 浏览

android - MockWebServer 可以使用本地 Json 文件作为响应正文吗?

如何在 MockWebServer 中使用本地 Json 文件作为响应正文?谢谢!

0 投票
1 回答
1957 浏览

android - 如何实现 MockWebServer 以使用代理

我正在尝试从 Square 实现 MockWebServer 并且我在代理后面。问题是每次我执行仪器测试都会失败,因为我对 MockWebServer 所做的每个请求都会收到 407。

如您所见,我指向我的本地主机,但我不知道为什么会得到这个!

这是我的 MockWebServer 实现!

我执行仪器测试时的终点是“/”。

仅当我在代理网络后面时才会出现此问题,如果在我的移动设备中我切换到不在代理后面的另一个网络,则模拟服务器运行良好。知道我在做什么错吗?

编辑:当我在代理后面时,调度员永远不会被调用

0 投票
1 回答
692 浏览

java - MockWebServer 抛出 java.lang.reflect.InvocationTargetException

我在这里关注代码:Android Unit Test with Retrofit2 and Mockito or Robolectric

我正在尝试运行此代码:

但是在 build() 方法中它抛出:

我不知道为什么

0 投票
4 回答
3001 浏览

android - gradle build 中的 Mockwebserver 抛出错误

我的 gradle 文件中的这个条目:

正在抛出错误:

我尝试在我的 gradle 文件中注释掉不同的编译条目以找出哪个是冲突的,但我就是找不到哪个使用 com.squareup.okio:okio。

更新:我能够通过运行获得依赖项: gradlew.bat app:dependencies > c:\tmp\output.txt

如您所见,改造 2.0 使用 okhttp3,它使用 okio:1.8.0。另一方面,mockwebserver:2.7.0 使用 okhttp:2.7.0,它使用 okio:1.6.0。那么我该如何解决呢?

以下是我的 gradle 文件的“依赖项”部分中的条目:

0 投票
0 回答
921 浏览

android - java.lang.NoSuchMethodError: androidTest 上没有静态方法 initializeInstanceForTests() MockWebServer

我无法在 androidTest 文件夹上初始化 MockWebServer。我已经在我的 gradle 添加了这一行 androidTestCompile('com.squareup.okhttp3:mockwebserver:3.6.0') { exclude group: 'com.squareup.okio', module: 'okio' exclude group: 'com.squareup.okhttp3', module: 'okhttp' }

我尝试遵循https://github.com/riggaroo/android-retrofit-test-examples的实现。我已经克隆了项目,将此示例使用的 MockWebServer 版本更改为最新版本,它仍然可以正常工作,但是我的项目中的实现仍然给我同样的错误。

下面,TestInputTenantActivity 代码