首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用用于客户端状态控制的“测试API”接受Rails

使用用于客户端状态控制的“测试API”接受Rails
EN

Stack Overflow用户
提问于 2014-03-10 14:52:25
回答 1查看 210关注 0票数 0

我目前正在评估如何测试一个相当大和复杂的web应用程序,基于服务器端的Rails 4和客户端的EmberJS。在我们的应用程序中,客户机专门通过restful与服务器进行通信。

到目前为止,我们已经做了很多基于Konacha的单元测试,并且现在也愿意设置集成/验收测试。我们不确定是否应该开始编写端到端的测试,因此测试包括服务器的一个正在运行的实例,或者我们是否应该分别进行API和客户端的集成测试。

目前我们更喜欢的选择是端到端测试,因为我们担心在集成测试API和客户端的情况下,我们有两倍的精力来创建和维护测试,而且API和客户端之间的通信可能有一些我们无法捕捉到的微小的、很少的特性。

嗯,我们喜欢像Konacha这样的现代和快速测试框架,所以我们并不真正想使用Selenium。这不仅是因为它感觉有点老,也是因为它的性能很差。您仍然需要控制服务器上模拟数据的实例化和服务器的重置,为什么我们提出了以下方法:

我们实现了一个测试API,该API在概念上用于控制服务器的状态,例如,它有以下方法:

代码语言:javascript
复制
GET /api/test/setup  # Simple bootstrapping of the database, e.g. populate table with ISO language codes etc...
GET /api/test/reset  # Reset the database, using `database_cleaner` gem

然后,一个konacha测试用例将分别在每个测试用例之前和之后调用setupreset

你觉得这个方法怎么样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-10 15:57:19

我不确定API和客户端的测试分别是什么,但是即使您考虑运行这种测试,您仍然需要进行端到端的测试。

所以是的,我认为你进行端到端测试的想法是非常好的。

您的想法是设置简单的命令,以允许您的系统测试自动化(设置和重置命令)也非常好。准备在自动化过程中添加更多,而端到端测试在概念上是一个黑匣子测试,实际上它通常是一个灰盒测试,也就是说,您需要访问系统的内部状态。我把这称为被测试系统的“操作和维护接口”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22303531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档