问题标签 [functional-testing]

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 投票
2 回答
7342 浏览

ruby-on-rails - 任意或自定义 URL 的 Rails 功能测试

我的 Rails 应用程序中有一个名为“Photo”的 RESTful 资源。我正在使用Paperclip为我的照片提供不同的“样式”(用于缩略图等),并且我正在使用自定义路由以 RESTful 方式访问这些样式:

这很好,但我想编写一个测试以确保它保持这种状态。

我已经有一个功能测试来调用 Photo 控制器的显示动作(实际上是由脚手架生成的):

这将测试 URL“/photo/1”处操作的执行情况。现在我想测试 URL“/photo/1/style/foo”的执行。不幸的是,我似乎无法让 ActionController::TestCase 访问该 URL;get 方法总是需要一个 action/id 并且不接受 URL 后缀。

如何测试自定义 URL?

更新

在查看@fernyb 的答案时,我在同一个 rdoc中找到了这个片段

在测试中,您可以简单地传递 URL 或命名路由来获取或发布。def send_to_jail get '/jail' assert_response :success assert_template "jail/front" end

但是,当我实际尝试时,我收到一条错误消息:

我想知道我是否做错了什么。

0 投票
7 回答
2928 浏览

ruby-on-rails - (Rails) Assert_Select 的恼人警告

有谁知道如何使 assert_select 在 rake 测试期间不输出所有那些讨厌的 html 警告?你知道,像这样的东西:

谢谢

0 投票
3 回答
4752 浏览

java - 自动化集成测试:使用 xUnit?

我正在研究如何最好地自动化集成测试(我的意思是完全在我们的应用程序中完成用例)

问题

很好地涵盖了“为什么”和“什么”方面。

使用数据库自​​动集成测试 C++ 应用程序的问题意味着 xUnit 框架是创建和执行集成测试的好方法。xUnit 真的非常适合这项任务吗?有需要注意的常见问题吗?遵循的好方法?

有没有更好的方法(可能没有购买 HP / 以前的 Mercury 工具套件)?

我这个项目的特定环境是 Java / SpringSource / Hibernate,但我也对 .Net 平台的建议感兴趣。

0 投票
1 回答
70 浏览

php - 这个场景被认为是功能测试,还是其他形式的测试?

我正在编写测试来检查外部服务是否提供了库存数据(在他们的测试服务器上),我可以检查这些数据,也可以取消这些数据。该测试是在旅行/酒店世界中进行的,我需要进行测试预订,然后取消它们。

我采取以下步骤: 1) 搜索 90 天后的库存(酒店房间) 2) 获得第一个结果,并用它进行测试结帐 3) 取消订单并确认 我得到一个取消号码 4) 确认执行适当的数据库条目

该测试涉及系统的广泛部分,我(目前)没有机制来隔离它们。因此我不考虑这个单元测试。然而,这会被称为功能测试,还是别的什么?

作为后续,它可能有助于为我正在与之交互的每个子系统隔离和编写测试。你们将在隔离过程中从哪里开始?

0 投票
8 回答
1437 浏览

ruby-on-rails - 可以在功能测试方法中运行 for 循环吗?

可以(从概念上)在测试方法中运行 for 循环吗?

我想在控制器中测试一系列参数值,以确定不同的输入是否返回正确的值。

类似的东西。

0 投票
1 回答
888 浏览

ruby-on-rails - 如何在 Rails 测试中伪造子域查找?

我定义了以下过滤器:

在我的测试中:

现在test被定义为一个虚拟帐户的子域,我在所有请求之前使用factory_girl. 但是,这是抛出一个 nil 对象错误,说 @request 是 nil。删除设置块会导致我的所有测试都失败,因为 find_account 找不到帐户并因此引发RecordNotFound错误。

我究竟做错了什么?

0 投票
1 回答
94 浏览

asp.net - 单独测试ui组件有意义吗?

我正在开发一个包含大约 15 个用户控件的网络表单,这些控件由上下文(评论、位置、成员/领导者等)分隔。如果每个控件都可以单独呈现(使用真实数据或测试数据),那么有一个单独的“功能”测试页面来单独测试它们是否有意义,或者有更好的方法吗?

0 投票
2 回答
117 浏览

testing - 输出文件的功能测试,当输出是不确定的(或低控制)

很久以前,我不得不测试一个生成 postscript 文件图像的程序。确定程序是否产生正确的预期输出的一种快速方法是对结果进行 md5 以与我事先检查的“已知良好”输出的 md5 进行比较。

不幸的是,Postscript 包含文件中的当前时间。当然,这个时间会根据测试运行的时间而有所不同,因此即使获得了预期的输出,也会改变结果的 md5。作为修复,我只是用 sed 去掉了日期。

这是一个美好而简单的场景。我们并不总是那么幸运。例如,现在我正在编写一个编写器程序,它创建一个包含一堆匿名节点和 uuid 的大型 RDF 文件。用一个简单的 md5 基本上不可能检查整个程序的功能,唯一的办法就是用阅读器读取文件,然后通过这个阅读器验证输出。正如您可能意识到的那样,这打开了一个新的蠕虫罐:首先,您必须编写一个阅读器(这可能很耗时),其次,您假设阅读器在功能上是正确的,同时与编写器同步。如果读取器和写入器同步,但假设不正确,读取器会说“没问题”,但文件格式实际上是错误的。

当您必须对文件格式执行功能测试时,这是一个普遍问题,并且文件格式不能通过您提供的输入完全重现。你如何处理这个案子?

0 投票
3 回答
1813 浏览

ruby-on-rails - Rails 中授权的功能测试

我知道如何在 Rails 中运行功能/集成测试,这个问题是关于最佳实践的。假设使用四个不同的用户角色执行授权:

  • 基本的
  • 编辑
  • 行政
  • 极好的

这意味着对于每个操作,最多可能有五种不同的行为(4 个角色 + 未经身份验证/匿名)。我采取的一种方法是测试每个动作的每个角色,例如:

  • test_edit_by_anonymous_user
  • test_edit_by_basic_user
  • test_edit_by_editor_user
  • test_edit_by_admin_user
  • test_edit_by_super_user

但这显然会导致大量的测试(站点上的每个控制器操作确实需要测试五次)。相反的方法是单独测试授权机制,然后在测试每个操作(设置时)之前验证为超级,并且只测试每个页面的一个版本。

我尝试了几种具有不同程度特异性的方法,但对任何事情都没有完全满意。当我测试更多用例时,我会感觉更舒服,但是测试代码的数量和抽象的难度一直是关闭的。有没有人对此问题感到满意的方法?

0 投票
4 回答
161 浏览

testing - 在功能测试中,我是否应该将浏览器中呈现的所有表格数据与来自数据库的数据进行比较?

我正在为一个网站制定测试计划,其中一些测试采用以下路径:

  1. 点击请求的 URI 并获取在某个表中呈现的数据(每页 20 行)。
  2. 进行数据库查询以获取应该在该表中呈现的数据。
  3. 逐行比较2个数据,它们应该匹配。

这是进行功能测试的正确方法吗?如果该请求是 Ajax 请求,那么答案又是什么?集成测试的答案会有所不同吗?

我有一些理由让我相信这在某种程度上是错误的......仍然需要你们的意见!