Play Framework中功能测试的目标是什么?

时间:2011-06-06 09:15:01

标签: playframework functional-testing

我正在为我的项目编写测试,在单元测试后,我现在 写FunctionalTest。

但在功能与硒测试的目标之间,我有点迷失。

功能测试是否仅用于测试是否,无论我发送给谁 任何页面(主要是POST),它应该返回我期望的(200,302, 404,500),还是还有更多? (如测试返回的页面是否为 我期待的一个(比如“登录页面”?或者这个测试应该在Selenium中?)

因为到目前为止,我的F测试只是一堆函数 每个assertStatus,我觉得它有点无用。 我相信我可以做得更多,但不知道为什么。

您在功能测试中测试了什么?

1 个答案:

答案 0 :(得分:8)

要回答您的问题,可能更容易同时查看所有三种类型的测试。

单元测试 - 测试单个代码单元。例如,如果我有一个Item类,它构成了电子商务网站的一部分,我会进行一些单元测试来测试Item类是否按预期运行。这可能包括一个测试,以证明搜索函数返回符合特定条件的项目。

功能测试 - 为了测试当各个单元组合在一起时,它们按预期一起工作。例如,为了使搜索功能起作用,我们希望发送一个特定的RESTful URL来搜索一个项目,该项目将返回一个特定的响应。它将使用我们的控制器和模型类来执行代码并实现完整的功能。

验收测试 - 也称为Selenium测试是一组更大的测试。这些测试用户可能会运行的场景,可能涵盖许多功能测试,而这些测试可能包含许多单元测试。这些更关心的是处理用户旅程或场景,而不是单独的功能。

对于FunctionalTests中使用的断言类型,我还在响应对象上使用assertFalse方法使用了assertTruegetContent