我正在使用Junit和Mackito测试我的应用程序,测试方法到目前为止还不行,但是不需要使用需要网络操作的方法,如何正确测试它们,以便在从后端获取数据后调用assert ?
答案 0 :(得分:1)
通常,您应该测试您的应用,而不是服务器端逻辑。所以只是模拟网络调用的方法。
但是,如果您想测试应用程序本身的网络层,我建议这样做有好方法 - WireMock
简单地说它创建了本地运行的webserver,它响应预定义的响应。
答案 1 :(得分:1)
依赖于网络调用的测试方法不是一个好主意。 更好地测试后端,并在客户端模拟它。
无论如何,如果您想在网络调用之后和断言之前等待数据使用:Thread.sleep(Xms)
在测试方法中。
@Test
public void testcase() throws InterruptedException {
// make actions and network call
// Wait, for example 2 seconds. It depends a lot of connection
Thread.sleep(2000);
// Then assert whatever you want
}