第1页共12页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共12页10
完整的应用程序测试现在,我们已经结束了博客引擎的编码工作,但对项目来说还没有完成,为了让我们的代码能够完全正确的工作,我们还需要对项目进行测试
当然,我们之前已经为yabe的模型层功能书写的单元测试,并且确信博客引擎的核心功能已经进行了完好的测试,但是对于一个web应用程序来说模型层只是其中的一部分,我们还需要确定web接口能否按预期的目标一样正常工作
也就是说还需要测试yabe博客引擎的控制器层,甚至需要对UI自身进行测试,比如我们的JavaScript代码
测试控制器部分Play提供了一种功能,就是使用JUnit来直接测试应用程序的控制器
我们把这些测试叫做‘功能性测试’,这是因为我们打算测试web应用程序的完整功能
基本上,一个功能性测试将直接调用Play的ActionInvoker,和一个HTTP请求相似
因此我们需要给出一个HTTP方法、一个URI和多个HTTP参数
Play之后会路由这些请求,调用相应的action,并且回发到填写的响应(filledresponse)
之后,你就可以对之进行分析,以检查响应内容是否你所预期的
接下来让我们书写第一个功能性测试代码,打开yabe/test/ApplicationTest
java单元测试:importorg
*;importplay
*;importplay
*;importplay
*;importmodels
*;publicclassApplicationTestextendsFunctionalTest{@TestpublicvoidtestThatIndexPageWorks(){Responseresponse=GET("/");assertIsOk(res