如何创建一个简单的 API 来测试我的移动应用程序,而无需在服务器上编写 API 代码?

问题描述 投票:0回答:4

我正在制作一个 Android 和 iOS 应用程序,它将使用返回适当 JSON 响应的 API 与服务器进行交互。我团队中的其他人正在做服务器端工作。我不想打扰/等待她完成服务器实现。

是否有一个网站可以帮助我创建一个测试 API,以便每当我调用它时,它都会返回预定义的 JSON 响应?

示例:如果网站名为

api.com
,那么如果我创建一个帐户并调用
GET api.com/my_account/get_key
,它将返回
{"key": "fgjllpoiunvxaqw"}
。当然,我会在网站上对响应进行硬编码。

android ios testing mocking
4个回答
4
投票

如果您只是从服务器读取数据(例如仅发出 /GET 请求),您可以将一些 .json 文件放在服务器上,然后从您的应用程序中读取它们。

例如,对于 get_key,您可以调用

GET yourwebsite.com/get_key.json
并解析数据。通过这种方式,您可以模拟应用程序如何处理网络延迟,这对于开始添加加载程序和错误处理 UI 非常有用。

如果您需要发布,我通常有一个 PHP 脚本来写入服务器上的文件,以便稍后检查发布的内容:

<?php
   file_put_contents('testPostUserData.txt', file_get_contents('php://input'));
?>

如果您需要更多动态交互(GET 和 POST 数据,检索特定用户的一些数据),那么您可以使用一些免费的服务,例如 BackendlessKinveyStackMobParse .

最后,我通常有一个预处理器 #define 来在假 API 和真实 API 之间切换

#ifdef FAKE_API
static NSString * path requestBaseURL = @"http://yourwebsite.com";
#else
static NSString * const requestBaseURL = @"http://realwebserver.com";
#endif

1
投票

实现起来非常简单——你需要的是一个模拟 API。周围有几个,例如 JMockitMockito

模拟是软件设计和测试不可或缺的一部分。


1
投票

虽然这个解决方案需要您编写一些代码,但我认为对于某些人来说可能已经足够了。

在等待回复时,我使用 BottlePy 编写了一个模拟 api,对于像我这样的新 Python 开发人员来说,这非常简单。

第 1 步:

easy_install bottle
pip install bottle

第 2 步:创建您的 API:

from bottle import route, run
import json

@route('/login', method='POST')
def login():
    if request.POST.get('username') == 'a' and request.POST.get('password') == 'b':
        return json.dumps({'status': 'success'})
    else:
        return json.dumps({'status': 'fail'})

run(host='localhost', port=8080, reloader=True)
# THATS IT!!!!

第 3 步:使用控制台运行文件

python name_of_file.py

第 4 步:完成,您的 api 已启动。在这种情况下使用
POST localhost:8080/login
进行测试


1
投票

终于找到了一个非常好的网站来做到这一点:Apiary。正是我所需要的,再加上一些其他很棒的事情,例如创建文档、提供协作工具等。

© www.soinside.com 2019 - 2024. All rights reserved.